Linux ps 与kill命令

ps命令

ps命令用于查看系统中的进程状态:

参数:

-a     显示所有进程
-u     用户以及其他详细信息
-x    显示没有控制终端的进程
[root@centos1 ~]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.4 128076  8160 ?        Ss   Oct29   0:06 /usr/lib/systemd/systemd --switched-root -
root         2  0.0  0.0      0     0 ?        S    Oct29   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   Oct29   0:00 [rcu_gp]
root         4  0.0  0.0      0     0 ?        I<   Oct29   0:00 [rcu_par_gp]
root         6  0.0  0.0      0     0 ?        I<   Oct29   0:00 [kworker/0:0H-kb]
root         8  0.0  0.0      0     0 ?        I<   Oct29   0:00 [mm_percpu_wq]
root         9  0.0  0.0      0     0 ?        S    Oct29   0:01 [ksoftirqd/0]

一般我们查看进程信息是需要对某些进程进行操作的,比如强制杀死某个进程

kill 与killall命令

kill 可用来杀死指定进程,或者向进程发送信息

-a:当处理当前进程时,不限制命令名和进程号的对应关系;
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
-s <信息名称或编号>:指定要送出的信息;
-u:指定用户。

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略,下面是常用的信号:

常见信号:

HUP     1    终端断线
INT     2    中断(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
TERM   15    终止
KILL    9    强制终止
CONT   18    继续(与STOP相反, fg/bg命令)
STOP   19    暂停(同 Ctrl + Z)

例如,先查找出vim的进程号,然后强制杀死进程

ps -ef | grep vim
root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
root      3370  2822  0 16:21 pts/0    00:00:00 grep vim

kill 3268

通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这 些进程会比较麻烦,此时可以使用 killall 命令来批量结束某个服务程序带有的全部进程。

例如:

killall nginx

上一篇:Linux netstat命令

下一篇:Linux iptables