文章

linux进程管理

linux进程管理

在linux中,每个执行的程序都称为一个进程。每一个进程都分配一个id号(pid,进程号)
每个进程都可能以两种方式存在的。前台和后台,所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则时实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机

进程的查看与结束
显示进程的命令:ps
参数:
-a: 显示当前终端的所有进程信息
-u: 以用户的格式显示进程信息
-x: 显示后台进程运行的参数
-e: 显示所有进程
-r: 全格式

user:进程执行用户
pid:进程识别号
ppid:该进程的父进程
%CPU:占用cpu百分比
%MEM:占用物理内存百分比
VSZ:占用虚拟内存的大小
RSS:占用物理内存的大小
tty:终端名称
stat:进程状态
start:进程执行的开始时间
time:进程占用cpu的时间
command:进程名,执行该进程的指令

STAT状态码
D 不可中断
R 运行
S 中断
T 停止
Z 僵死

实例:
列出目前所有的正在内存当中的程序:ps aux
查看sshd的父进程:ps -ef | grep sshd

终止进程:kill 和 killall

  • kill 选项 进程号:根据进程号杀死进程
  • killall 进程名:根据进程名杀死该进程以及子进程

查看进程数:pstree
参数:
-p: 显示进程的pid
-u: 显示进程的所属用户

服务管理
service管理指令
service 服务名 start|stop|restart|reload|status
在centos7.0后很多服务不再使用service,而是systemctl
service指令管理的服务在/etc/init.d查看
查看、启动、关闭network指令

  • 查看:service network status or systemctl status network
  • 启动:service network start or systemctl start network
  • 关闭:service network stop or systemctl stop network

查看服务名
方法1:使用setup
方法2:ls -l /etc/init.d

服务运行级别

  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2:多用户状态(没有NFS)。不支持网络
  • 运行级别3:完全的多用户状态(有NFS),无界面,登陆后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:x11控制台,登陆后进入图形GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

chkconfig

  • 可以通过chkconfig命令可以给服务的各个运行级别设置自启动/关闭
  • chkconfig指令管理的服务在 /etc/init.d 查看
  • 查看服务:chkconfig --list[ | grep 服务名]or chkconfig 服务名 --list
  • 指定某一服务在某一级别启动或关闭:chkconfig --level 5 服务名 on/off
  • 设置network在3运行级别,关闭自启动:chkconfig --level 3 network off
  • 注意:设置完后重启生效

systemctl管理指令

systemctl start|stop|restart|reload|status 服务名
systemctl管理的服务在 /usr/lib/systemd/system 查看
查看服务开机启动状态:systemctl list-unit-files[ | grep 服务名]
开启/关闭服务开机启动:systemctl enable/disable 服务名
查询某个服务是否是自启动的:systemctl is-enabled 服务名

防火墙开放指定端口
firewall指令
打开端口: firewall-cmd --permanent --add-port=端口号/协议
关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
查询端口号和协议可以用netstat -anp | more
重新载入才能生效 :firewall-cmd --reload
查询端口是否开放:
firewall-cmd --query-port=端口/协议

动态监控进程
top与ps命令很相似,它们都用来显示正在执行的进程,top与ps最大不同之处,在于top在执行一段时间可以更新正在运行的进程
参数:
-d 秒数: 指定top命令每隔几秒更新,默认是三秒
-i: 使top不显示闲置或者僵死进程
-p: 通过指定监控进程id来仅仅监控某个进程的状态

top视图交互命令
p: 以cpu使用率排序,默认就是此项
M: 以内存的使用率排序
N: 以pid排序
q: 退出top

监控网络状态
netstat 查看系统网络情况
参数:
-an: 按一定顺序排列输出
-p: 显示哪个进程在调用
例:查看服务名为sshd的服务信息 netstat -anp | grep sshd

摘自:https://www.bilibili.com/video/BV1Sv411r7vd?p=81&spm_id_from=pageDriver

License:  CC BY 4.0