[英]kill a process in bash script
I would like to kill and restart a process and this command works on interactive mode but not in script mode. 我想杀死并重新启动进程,此命令适用于交互模式,但不适用于脚本模式。
Any suggestion: 任何建议:
echo "Killing the running server"
kill $(ps -a | grep 'myserver.jar' | awk '{print $2}') || echo 'No active myserver' ; exit 1;
This may work: 这可能有效:
v=$(pgrep -f myserver.jar)
if [ $? == 0 ]; then
kill $v
else
echo "no server"
fi
# start server...
When a command runs fine in interactive and not in [ batch, crontab, ... take your own ], you should double check : 如果命令在交互式中运行正常而不是[batch,crontab,...自己动手],则应仔细检查:
If it's not enough look at all environment variables ... 如果还不够,请查看所有环境变量......
也许考虑尝试pkill
:
pkill myserver.jar
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.