我需要创建一个脚本 (.sh),我可以用它在一个命令中终止进程。
当我执行 $ pgrep -f vmware
它显示了一个列表:
2234
2241
2251
2296
4751
现在我需要为每个 sudo kill -9 4751
有没有办法把它自动化成
sh sudokiller.sh vmware
那么它会自动执行任务吗?或者有更好的方法?
最佳答案
你想要pkill
;它具有与 pgrep
几乎完全相同的命令行选项:
$ pkill -?
Usage: pkill [-SIGNAL] [-fvx] [-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]
[-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] [PATTERN]
事实上,在我的系统(Slackware 14.1)上 /usr/bin/pgrep
实际上是 /usr/bin/pkill
的符号链接(symbolic link),它在运行时搜索pgrep
,并在以 pkill
运行时终止。
例子:
me@host:~$ pgrep -f test.sh
1927
1932
1937
1945
1950
1955
1960
1965
1970
1975
1980
me@host:~$ pkill -f test.sh
me@host:~$ pgrep -f test.sh
me@host:~$
关于linux - 使用 Bash 自动终止匹配进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23905905/