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