重启 shell脚本
参考:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3602889&page=2
平时在做系统部署时候经常用到重启APP或web的sh脚本,但今天写了个脚本如下:
pidlist=`ps -ef|grep jenkins | grep -v "grep"|awk '{print $2}'` echo "jenkins ProcessID List :$pidlist" if [ "$pidlist" = "" ] then echo "no jenkins alive" else for pid in ${pidlist} { kill -9 $pid echo "KILL $pid:" echo "jenkins stop success" } fi cd /home/uapci/jenkins nohup /home/uapci/jenkins/bin/startup.sh & > /dev/null echo "started >"
发现没有达到重启jenkins的目的,反出现Killed.说明脚本还没运行完就被KILL掉了,这是由于执行kill-9$pid时将sh本身kill了,因为我的文件命名为jenkins_restart.sh,包含了jenkins关键字,所以在执行pidlist=`ps-ef|grepjenkins|grep-v"grep"|awk'{print$2}'一句的时候将自身PID包含在内,解决方法:
重命名文件即可,文件名不要包含grep过滤的关键字!!
相关推荐
huha 2020-10-16
laisean 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
JohnYork 2020-10-16
Julyth 2020-10-16
applecarelte 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
wangzhaotongalex 2020-09-22
流年浅滩 2020-10-23
liujianhua 2020-10-22
woaimeinuo 2020-10-21
tufeiax 2020-09-03
laisean 2020-09-01
vvu 2020-09-16
libao 2020-09-16
Yyqingmofeige 2020-08-18
zhushixia 2020-08-17