Bash-如何杀死当前用户满足条件的所有进程?
我目前使用的是Bash-如何杀死当前用户满足条件的所有进程?,bash,process,Bash,Process,我目前使用的是ps-opid,cmd | awk'{if($2==“watch”)print$1}'| xargskill-1 我想扩展这个命令来终止当前用户的进程 我开始工作的是ps-o uid,pid,cmd | awk'{if($1==1000&&$3==“watch”)print$2}| xargs kill-1,但我想用id-u之类的东西替换$1==1000,但它不起作用。您可以使用: ps -o uid,pid,cmd | awk -v uid=$(id -u) '$1==uid &
ps-opid,cmd | awk'{if($2==“watch”)print$1}'| xargskill-1
我想扩展这个命令来终止当前用户的进程
我开始工作的是ps-o uid,pid,cmd | awk'{if($1==1000&&$3==“watch”)print$2}| xargs kill-1
,但我想用id-u之类的东西替换$1==1000,但它不起作用。您可以使用:
ps -o uid,pid,cmd |
awk -v uid=$(id -u) '$1==uid && $3=="watch"{print $2}' |
xargs kill -1
我建议使用更简单的命令,如
pkill -U $USER watch
请注意,通过使用
-U user1、user2,…
您使用的操作系统/发行版和版本,您可以针对多个用户?我不需要任何特定的内容,因为目前我正在使用Red Hat Enterprise,但在不久的将来也可能使用Ubuntu/Debian。使用Ubuntu和RHELps-o uid,pid,cmd
只列出当前用户的进程。请注意,-U
可以是一个逗号分隔的用户列表。创建一个比我使用的更简单、更容易的列表。干杯