我正在尝试编写一个bash脚本并尝试从用户那里获取输入并执行kill命令来停止特定的tomcat。
...
read user_input
if [ "$user_input" = "2" ]
then
ps -ef | grep "search-tomcat" |awk {'"'"'print $2'"'"'}| xargs kill -9
echo "Search Tomcat Shut Down"
fi
...
我已确认该行
ps -ef | grep“search-tomcat”
在脚本中工作正常但是:
ps -ef | grep“search-tomcat”| awk {'“'''print $ 2'”'“'}
不会在脚本中产生任何结果,但在终端中提供所需的输出,因此awk命令必须存在一些问题
答案 0 :(得分:1)
xargs可能很棘手 - 尝试:
kill -9 $(ps -ef | awk'/ search-tomcat / {print $ 2}')
如果您更喜欢使用xargs,请检查手册页以获取目标操作系统的选项(即xargs -n。)
还注意到'kill -9'是一个非优雅的进程退出机制(即可能的文件损坏,其他陌生)所以我建议只使用作为最后的手段......
:)