一、ps -ef 命令

1、ps -ef 查询运行进程

ubuntu kill 所有 python进程 ubuntu kill -9_kill

2、ps -ef 通过管道检索某个进程名称查询

ubuntu kill 所有 python进程 ubuntu kill -9_firefox_02

3、ps -ef 查询并过滤进程id

ps -ef | grep find | grep -v grep | cut -c 9-15

ubuntu kill 所有 python进程 ubuntu kill -9_ps_03

4、ps -ef 查询并过滤进程id,并杀死该进程

ps -ef | grep find | grep -v grep | cut -c 9-15 | xargs kill -9

如果权限不足的话,尝试加上sudo

ps -ef | grep find | grep -v grep | cut -c 9-15 | xargs sudo kill -9

ubuntu kill 所有 python进程 ubuntu kill -9_ps_04


说明:

  • “grep find”的输出结果是,所有含有关键字“find”的进程。
  • “grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。
  • “cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
  • “xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令 的参数,并执行该命令。“kill -s 9”会强行杀掉指定进程。

5、改进

ps -ef | grep find | awk '{print $2}' | xargs kill -9

ubuntu kill 所有 python进程 ubuntu kill -9_firefox_05

6、再用命令回查,发现已经kill了

ubuntu kill 所有 python进程 ubuntu kill -9_ps_06

二、ps -aux 命令

ps -aux是显示所有进程和其状态:

ubuntu kill 所有 python进程 ubuntu kill -9_kill_07


其余的检索方式跟ps -ef 差不多,可以直接将 ps -ef 命令替换成 ps -aux

三、kill 命令

作用是结束进程

ubuntu kill 所有 python进程 ubuntu kill -9_ps_08

1、kill

  • 作用:根据进程号杀死进程
  • 用法:kill [信号代码] 进程PID
  • 注意:kill -9 来强制终止退出

特殊用法:

  • kill -STOP [PID]:停止一个进程,而并不消灭这个进程。
  • kill -CONT [PID]:重新开始一个停止的进程。
  • kill -KILL [PID]:强迫进程立即停止,并且不实施清理操作。
  • kill -9 -1:终止你拥有的全部进程。

2、killall

  • 作用:通过程序的名字,直接杀死所有进程
  • 用法:killall 正在运行的程序名
  • 如killall -9 firefox

3、pkill

  • 作用:通过程序的名字,直接杀死所有进程
  • 用法:#pkill 正在运行的程序名
  • 如 pkill firefox

四、ps auxps -auxps -ef 命令的区别

1、aux

  • ps a 显示现行终端机下的所有程序,包括其他用户的程序
  • ps u 以用户为主的格式来显示程序状况
  • ps x 显示所有程序,不以终端机来区分。

所以,ps aux 就是打印所有进程。

2、-aux

ps -aux 不同于ps aux。POSIX和UNIX的标准要求ps -aux打印用户名为”x”的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为”x”不存在,ps的将会解释为ps aux,而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。

如果你运行ps -aux >/dev/null,那么你就会得到下面这行警告信息:

Warning: bad ps syntax, perhaps a bogus ‘-‘? See http://procps.sf.net/faq.html

3、-ef

  • ps -e 此参数的效果和指定”A”参数相同
  • ps -A 显示所有程序

所以,ps -ef 也是打印所有进程。

4、 ps -efps -aux 的区别是:显示格式不同。

ubuntu kill 所有 python进程 ubuntu kill -9_ps_09

  • UID:用户
  • PID:pid
  • PPID:父进程pid
  • C:CPU使用率
  • STIME:进程开始时间
  • TTY:终端ID
  • TIME:进程运行时间
  • CMD:command

ubuntu kill 所有 python进程 ubuntu kill -9_kill_10

  • USER: 进程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的内存使用率
  • VSZ: 占用的虚拟内存大小
  • RSS: 占用的驻留集大小或者实际内存的大小,不包含已交换出去的大小,单位kbytes
  • TTY: 终端ID
  • STAT: 该进程的状态
  • START: 进程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令

其中STAT: 该进程的状态有以下:

D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
< 高优先级
n 低优先级
s 包含子进程
+ 位于后台的进程组
l 多进程的