进程管理
写在开头:
- Linux中,每个执行的程序都成为一个进程,每个进程均会分配一个ID号。
- 每一个进程,都会对应一个父进程,父进程可以复制多个子进程。
进程查询
ps
指令是用来查看目前系统中那些进程正在执行以及执行的状况。
ps -a
,显示当前终端所有的进程信息ps -u
,以用户的格式显示进程信息ps -x
,显示后台进程允许的参数
经常使用指令:ps-aux | grep [condition]
指令列表字段含义表:
字段 | 含义 |
---|---|
USER | 用户名 |
PID | 进程ID号 |
%CPU | 进程占用CPU百分比 |
%MEM | 进程占用物理内存百分比 |
VSZ | 进程占用虚拟内存大小(KB) |
RSS | 进程占用物理内存大小(KB) |
TTY | 终端名称,缩写 |
STAT | 进程状态,s:睡眠 、s:该进程是会话的进程 ,N:表示进程拥有比普通优先级更低的优先级 ,R:正在运行 ,D:短期等待 ,Z:僵死进程 ,T:被跟踪或被停止 |
START | 进程的启动时间 |
TIME | CPU时间,进程使用CPU的总时间 |
COMMAND | 启动进程所需要的命令及参数 |
查看进程的父进程:ps -ef
,其中PPID
为父进程的进程ID号
查看进程树:pstree -p/-u
,-p
显示进程的PID,-u
,显示进程的所属用户
终止进程
kill -9 [ID]
,强制终止进程,-9
为强制线程终止。- 终止远程登录(sshd,其CMD为:/usr/sbin/sshd)服务:
kill [sshdのID]
- 终止远程登录(sshd,其CMD为:/usr/sbin/sshd)服务:
killall [name]
,终止多个进程(常用于终止子进程较多的父进程)
动态进程监控
top
指令可以动态查询进程的运行状况
top -d[seconds]
,指定top命令每隔几秒更新,默认3秒。top -i
,不显示闲置或僵死进程。top -p[ID]
,通过在指定的进程ID来监控指定进程的状态。
监控网络状态
netstat
指令
netstat -anp | grep serviceName
,查看具体服务的网络服务状况
服务管理(守护进程管理)
服务管理指令
- 服务启动、停止、状态、重加载指令:
service [serviceName] [ start | stop | status | reload ]
需要注意,在CentOS7后,service
指令使用systemctl
替换
- 查看服务名
setup -> 系统服务
ls -l /etc/init.d/
服务自启动/关闭
每个服务在不同的运行级别下的服务自启动状况均需要设置
chkconfig
指令
- 查看服务:
chkconfig --list | grep serviceName
、chkconfig serviceName --list
- 设置服务在不同运行级别下的自启动/关闭:
chkconfig [--level 5(指定规定运行级别,不指定则为所有运行级别下的设置)] serviceName off/on
,设置完成后reboot
生效。