我正在尝试执行以下命令:
ps aux | grep com.scheduler.app.workermain | kill -15 [pid]
如何使用ps aux | grep "expression"
获取[pid]
(或PID
列表)并将其传送到kill
?可能有零个或多个进程在运行计算机。这是自动化作业的一部分,以确保所有旋转的流程都将终止。执行 ps aux | grep com.scheduler.app.workermain
时命令行中的示例行为:
jenkins 12373 1.1 4.2 2905440 173628 ? Sl 19:28 0:05 java -Xmx600m -Dlog4j.configurationFile=log4j2-trace.xml -Dpid=foobar -Dipaddr=127.0.0.1 -cp build/classes:build/dependency/* com.scheduler.app.workermain testing.properties
pkill
正是用于此目的。怎么样:
pkill -15 -f com.scheduler.app.workermain
另外,如果您只想为 PID 进行 grep,您可以使用pgrep
:
pgrep -f com.scheduler.app.workermain
Pkill 手册页
kill -15 $(ps aux | grep -i com.scheduler.app.workermain | awk -F' ' '{ print $2 }')
可能的解决方案之一是使用 pidof
命令:
kill $( pidof com.scheduler.app.workermain )
附言。无需将-15
(或 -TERM)传递给 kill
命令,因为SIGTERM
是发送的默认信号。