进程 ID 和杀死进程 - ps 命令

COD*_*ror 6 process kill ps

请参阅以下ps命令的输出:

abc@smaug:~/Desktop$ ps ax | grep firefox
 2213 ?        Sl     2:01 /usr/lib/firefox/firefox
 2644 pts/0    S+     0:00 grep --color=auto firefox
Run Code Online (Sandbox Code Playgroud)

请解释这两行以及可以使用什么进程 ID 来杀死 Firefox 进程?

每次运行该命令时,进程 ID 2644 都会不断变化。

uml*_*ute 10

在尝试查找 PID 时firefox,您启动了一个新进程来过滤所有不需要的进程。此过滤器进程 ( grep firefox) 还包含搜索词“firefox”,因此会找到它自己。

每当您重新启动时,您ps ax | grep firefox都会启动一个新grep进程,因此它的 PID 不断变化。

所以,简短的回答是:

使用 PID 2213 杀死 Firefox

如果你想摆脱误报,你可以使用另一个grep来过滤掉它:

 $ ps ax | grep firefox | grep -v grep
Run Code Online (Sandbox Code Playgroud)

另一种选择是使用pgrep(它只会给你找到的进程的PID)

 $ pgrep firefox
 2213
Run Code Online (Sandbox Code Playgroud)