我想杀死一系列进程如下:(rg是grep的替代)
ps -aux | rg "some_procs" | awk '{print $2}' | xargs kill -9
但它引发了一个错误消息显示我没有权限。我也不能添加sudo后xargs或xargs后。(似乎这将导致xargs分配argus到sudo而不是杀死)。我如何使用sudo在这个管道链接杀死这些进程?
pbgvytdp1#
ps -aux | rg "mytmp" | awk '{print $2}' | xargs sudo kill -9
这个命令起作用了。
mwkjh3gx2#
除了the answer之外,如果您使用的是GNU/Linux系统,您还可以使用pkill,因此
pkill
sudo pkill some_procs
另外请注意,否则,您可以将许多PID传递给kill OK。您不需要所有ps默认字段,而只需要PID和name进行过滤。最后,您可以跳过rg部分,因为您可以直接在awk中执行此操作。
kill
ps
rg
awk
sudo kill -9 $(ps -o pid,args | awk '$2 ~ /some_procs/ {$1}')
2条答案
按热度按时间pbgvytdp1#
这个命令起作用了。
mwkjh3gx2#
除了the answer之外,如果您使用的是GNU/Linux系统,您还可以使用
pkill
,因此另外请注意,否则,您可以将许多PID传递给
kill
OK。您不需要所有ps
默认字段,而只需要PID和name进行过滤。最后,您可以跳过rg
部分,因为您可以直接在awk
中执行此操作。