ps
ps 命令用于查看系统中的进程状态,格式为“ps [参数]”。
ps 命令的参数以及作用:
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
示例:查看自己的进程
# ps -l
示例:查看系统所有进程
# ps aux
示例:查看特定的进程
# ps aux | grep redis
在Linux系统中,有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。
D(不可中断):进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用 wait() 系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
pstree
查看进程树。
示例:查看所有进程树
# pstree -A
top
top 命令用于动态地监视进程活动与系统负载等信息。
示例:两秒钟刷新一次
# top -d 2
netstat
查看占用端口的进程。
示例:查看特定端口的进程
# netstat -anp | grep 80
- -a 或 --all 显示所有连线中的Socket。
- -t 或 --tcp 显示TCP传输协议的连线状况。
- -u 或 --udp 显示UDP传输协议的连线状况。
- -l 或 --listening 显示监控中的服务器的Socket。
- -n 或 --numeric 直接使用IP地址,而不通过域名服务器。
- -p 或 --programs 显示正在使用Socket的程序识别码和程序名称。
kill
杀死进程
# kill 12345
强制杀死进程
# kill -KILL 123456
彻底杀死进程
# kill -9 123456
kill -9 进程的 pid: 杀死进程(-9 表示强制终止)。