我有许多名称相似的进程,如“proc_1asd,proc_2wqe,proc_3zxc”
我需要向他们发送一个非残酷的中断信号,pkill -f可以工作,但它没有安装.
我正在尝试使用killall -r proc_ *,但是我收到了这个错误
proc_*: no process found
我的印象是我做的事非常愚蠢,但我不知道是什么.
这是一个图像(进程的实际名称是jnode_something)
pgrep -lf’proc _.*’返回
15070 jnode_0 -cp lib/xstream-1.4.7.jar:build/classes sandBox.GridNode Configs/0_config.txt Logs 15071 jnode_1 -cp lib/xstream-1.4.7.jar:build/classes sandBox.GridNode Configs/1_config.txt Logs 15072 jnode_2 -cp lib/xstream-1.4.7.jar:build/classes sandBox.GridNode Configs/2_config.txt Logs 15073 jnode_3 -cp lib/xstream-1.4.7.jar:build/classes sandBox.GridNode Configs/3_config.txt Logs 15074 jnode_4 -cp lib/xstream-1.4.7.jar:build/classes sandBox.GridNode Configs/4_config.txt Logs
解决方法
看起来像矫枉过正,但如果你能从pgrep获得PID,只需将它们作为参数来杀死.就像是:
pgrep -lf 'proc_.*' | awk '{print $1}' | xargs kill -f