本人测试环境:centos7 tomcat7
tocmat的bin目录下,新建kill.sh文件,内容如下:
set fileformat=unix
dpath=`pwd`
echo $dpath
echo 'check'
ps -ef|grep $dpath|grep java|awk '{print $2}'
echo 'shutdown ing'
ps -ef|grep $dpath|grep java|awk '{print $2}'|xargs kill -9
echo "shutdown success"
ps -ef|grep $dpath|grep java|awk '{print $2}'
注意点:
- 写好后,执行 chmod +x kill.sh, 增加可执行权限
- 执行./kill.sh 命令是,cd 到tomcat的bin目录下执行.以免造成误杀或者错杀.
解释:
`pwd`获取当前路径
ps -ef | grep $dpath | grep java 找到当前路径的进程, 再找到是java的进程
awk '{print $2}' 获取pid. 因为pid是 ps 返回值的第二个参数
xargs kill -9 根据返回参数,执行后面命令. 相当于kill -9 pid.
linux连续执行命令的强大之处.