我正在尝试执行以下命令:
ps aux | grep com.scheduler.app.workermain | kill -15 [pid]
如何使用[pid]
获取PID
(或ps aux | grep "expression"
列表)并将其传递给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
答案 0 :(得分:2)
pkill
用于此目的。怎么样:
pkill -15 -f com.scheduler.app.workermain
另外,如果你只想要一个PID,你可以使用pgrep
:
pgrep -f com.scheduler.app.workermain
答案 1 :(得分:1)
kill -15 $(ps aux | grep -i com.scheduler.app.workermain | awk -F' ' '{ print $2 }')
答案 2 :(得分:0)
可能的解决方案之一是使用pidof
命令:
kill $( pidof com.scheduler.app.workermain )
PS。您不需要将-15
(或-TERM)传递给kill
命令,因为SIGTERM
是发送的默认信号。