我正在尝试编写一个bash脚本,找到tomcat6的PID
,杀死它,再次启动它,然后等待1分钟,然后再次杀死进程并再次启动它。
这是我到目前为止所做的,但我正在努力让脚本使用之前的pid杀死tomcat:
ps aux | grep tomcat6
kill -9 $!
service Tomcat6 start
sleep 1m
ps aux | grep tomcat6
kill -9 $!
service Tomcat6 start
由于
答案 0 :(得分:2)
T_PID=$(ps aux | grep Tomcat6 | awk 'NR==1{print $2}')
kill -9 $T_PID
service Tomcat6 start
sleep 1m
如果grep给出多个输出,NR == x将只获得所需行的PID。
答案 1 :(得分:0)
你可以使用
pkill tomcat6
答案 2 :(得分:0)
只做一次就足够了(如果你需要sudo)。
sudo service tomcat6 restart ; sleep 1m ; sudo service tomcat6 restart ;
甚至更好
sudo /bin/bash -c "service tomcat6 restart; sleep 1m; service tomcat6 restart;"
这可能是一个永无止境的循环,你必须用手打断。 把它当成一个划痕。
#!/bin/bash
while :
do
pkill tomcat6 # or pkill -9 tomcat6
service tomcat6 start
sleep 1m
done
如果我记得很清楚,有可能重启该服务。 如果是这样,你甚至可以使用
#!/bin/bash
while :
do
service tomcat6 restart
sleep 1m
done