怎么杀死进程?

kill

命令用途

一般情况下,终止一个前台进程使用 Ctrl + C 就可以了。对于一个后台进程就须用 kill 命令来终止。我们会先使用 ps、top 等命令获得进程的 PID,然后使用 kill 命令来杀掉该进程。

kill 命令是用来向进程发送信号的

代号 名称 含义
1 SIGHUP 启动被终止的程序,可让该进程重新读取自己的配置文件,类似重新启动
2 SIGINT 相当于键盘输入ctrl+c中断程序进行
9 SIGKILL 强制终止进程,慎用
15 SIGTERM 终止进程,默认kill使用该信号
19 SIGSTOP 暂停进程,如ctrl+z

1.命令格式:

kill[参数] [ 进程号]

2.参数:

  • -l 列出全部信号名称
  • -a 当处理当前进程时,不限制命令名和进程号的对应关系
  • -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
  • -s 指定发送信号
  • -u 指定用户

killall

1.命令格式:

​ killall[参数] [进程名]

2.命令功能:

​ 用来杀死同名的所有进程

3.命令参数:

用来结束同名的的所有进程

  • -Z 只杀死拥有scontext 的进程
  • -e 要求匹配进程名称
  • -I 忽略小写
  • -g 杀死进程组而不是进程
  • -i 交互模式,杀死进程前先询问用户
  • -l 列出所有的已知信号名称
  • -q 不输出警告信息
  • -s 发送指定的信号
  • -v 报告信号是否成功发送
  • -w 等待进程死亡
  • --help 显示帮助信息
  • --version 显示版本显示

例:

[root@beua ~]# killall -9 bash #把所有登陆的shell杀掉

pkill

  • -o 仅找到的最小进程号发送信号
  • -n 仅向找到的最大进程号发送信号
  • -P 指定父进程号发送信号
  • -g 指定进程号
  • -t 指定开启进程的终端

[root@beua ~]# pkill nginx #跟上进程名称(批量)

[root@beua ~]# pkill -9 -t pts/0

[root@beua ~]# ps aux|grep nginx |grep -v grep|awk '{print $2}'|sed -r 's#(.*)#kill \1#g'|bash

批量杀死进程

[root@beua ~]# kill 18788

默认kill进程父进程,这样才能彻底的杀掉该进程. 否则如果只是kill子进程,没有用

[root@beua ~]# kill -1 20154

重载配置,PID号不会发生变化. 只要PID发生变化说明进程被停止过

posted @ 2019-05-08 23:06  Beua  阅读(3204)  评论(0编辑  收藏  举报