在一行中杀死一个进程

Dav*_*log 0 process kill

有时我需要通过终端快速结束一个进程,但只是输入ps -e | grep firefox然后一直终止是很乏味的。我想alias在我的 .bashrc 中创建一个并输入killfirefox

我想会做到,但我并不真正了解一切。

所以我知道要么ps -e | grep firefox | sudo awk '{print $1}'pgrep firefox将返回我需要杀死进程的firefox的pid。我认为这可以完成这项工作:

pgrep firefox | sudo awk '{kill $1}'但它不起作用。它什么也没说,Firefox 仍在运行。然后我尝试了pgrep firefox | sudo awk '{system(sudo kill $1)}'但后来它返回“sh:1:27762:未找到”。

为什么我的方法不行?怎么了?

小智 6

为了让你的方式工作,你必须修复 awk 语法并使用 system 函数在 awk 中执行命令:

pgrep firefox | awk '{system("kill "$1)}'
Run Code Online (Sandbox Code Playgroud)

然后你有你自己制造的(重新发明的轮子)相当于:

pkill firefox
Run Code Online (Sandbox Code Playgroud)

正如您的问题评论中指出的那样。