Linux 编写一个命令以终止名称包含“的第一个进程”;ca";?只有第一个流程具有;ca“;在其’;名字必须被杀,而不是其他人?
刚接触linux,我正在努力学习更多,我遇到了这种情况 我曾尝试使用ps命令和grep来捕获“ca”,但它会返回每次出现的“ca”,无论它来自何处,实际上对我没有帮助 我尝试过这个解决方案,但不起作用Linux 编写一个命令以终止名称包含“的第一个进程”;ca";?只有第一个流程具有;ca“;在其’;名字必须被杀,而不是其他人?,linux,bash,Linux,Bash,刚接触linux,我正在努力学习更多,我遇到了这种情况 我曾尝试使用ps命令和grep来捕获“ca”,但它会返回每次出现的“ca”,无论它来自何处,实际上对我没有帮助 我尝试过这个解决方案,但不起作用 ps aux | grep ca find out the process id and issue kill <process number> ps aux|grep ca 找出进程id 并发出杀戮信号 但grep将捕获所有“ca”,无论它在哪里,进程名、目录和任何内容 我应该做
ps aux | grep ca
find out the process id
and issue kill <process number>
ps aux|grep ca
找出进程id
并发出杀戮信号
但grep将捕获所有“ca”,无论它在哪里,进程名、目录和任何内容
我应该做些什么来实现我所需要的。提前谢谢
kill `ps -aux | sed "s/\s\+/ /g" | cut -d ' ' -f2,11 | sed "s/ .*\// /g" | grep ca | head -1 | cut -d' ' -f1`
这应该可以做到:
pkill -o ca
pkill
的-o
选项将终止最早的匹配进程。要获取最新版本,请使用-n
选项:
pkill -n ca
注意pkill
采用一种模式,因此,如果您希望获得以“ca”开头的流程,也可以这样做:
pkill -o ^ca
无法保证具有匹配“ca”的第一个进程始终是您想要的进程。请说明您的具体要求。您可以检查
pgrep
命令以满足您的需要。@Niati Arora:我建议您考虑一下。概括的情况会发生。PID可以回收利用。“排名第一”通常可能是最老的,但它并不总是最老的;无论如何,访问手册页提供了更好的解决方案!确实好多了