请参阅以下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)