shell脚本如何查询进程并杀死
作者:qq759035366
工作中经常需要写一个定时脚本,需要找到一个进程,然后杀死,并定时重新启动这个进程,这篇文章主要介绍了shell脚本查询进程并杀死,需要的朋友可以参考下
shell脚本查询进程并杀死
说明:
工作中经常需要写一个定时脚本,需要找到一个进程,然后杀死,并定时重新启动这个进程。
具体脚本如下:(ngsp代表是什么进程)
#!/bin/bash ID=`ps -ef | grep ngsp | grep -v grep | awk '{print $2}'` echo $ID for id in $ID do kill -9 $id echo "kill $id" done
或者有些朋友看了,不明白,我这里就举一个httpd的例子吧
1. 安装一个apache服务
yum -y install httpd systemctl start httpd
网页访问:IP:80 比如1.117.92.32:80 看到网页说明httpd部署成功了。
查看httpd的服务:
如下是脚本杀死进程和启动脚本
[root@VM-4-11-centos ~]# ls kill_httpd.sh start_httpd.sh [root@VM-4-11-centos ~]# cat kill_httpd.sh #!/bin/bash ID=`ps -ef | grep httpd | grep -v grep | awk '{print $2}'` echo $ID for id in $ID do kill -9 $id echo "kill $id" done [root@VM-4-11-centos ~]# cat start_httpd.sh #!/bin/bash systemctl start httpd [root@VM-4-11-centos ~]#
设置定时启动脚本:crontab -e进行编辑
[root@VM-4-11-centos ~]# crontab -l #查看定时任务,我的脚本在 /root/路径下,我这是每天10点50运行杀死进程,然后每天10点52重新启动httpd服务 */5 * * * * flock -xn /tmp/stargate.lock -c '/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &' 50 10 * * * /root/kill_httpd.sh 52 10 * * * /root/start_httpd.sh [root@VM-4-11-centos ~]#
到此这篇关于shell脚本查询进程并杀死的文章就介绍到这了,更多相关shell查询进程并杀死内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!