所以这里我有一篇文章,我需要制作一个命令,我用一个给定的名字杀死所有进程然后当我输入它时,它将显示进程的pid并使用该名称然后将其杀死我需要使用tr -s
,cut
,
现在这就是我做的事情
echo " What do you want to kill? "
read pr
ps -fA| grep -c $pr | grep -v grep | kill -9 $(ps aux | grep -e $pr | awk '{print $2}')
答案 0 :(得分:1)
for i in $(ps -ef |grep $pr |grep -v grep |tr -s ' ' |cut -f2 -d' ')
do
kill $i && echo killed $i
done
tr -s ' '
会将重复的空格挤压到一个cut
可用作字段分隔符的空间中。
更好更容易使用pgrep
即
kill $(pgrep $pr) && echo done || echo not done
以下是手册页:man pgrep