shell脚本查询进程并杀死
shell脚本查询进程并杀死说明:工作中经常需要写一个定时脚本,需要找到一个进程,然后杀死,并定时重新启动这个进程。具体脚本如下:(ngsp代表是什么进程)#!/bin/bashID=`ps -ef | grep ngsp | grep -v grep | awk '{print $2}'`echo $IDfor id in $IDdokill -9 $idecho "kill $id"done或
·
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 ~]#
更多推荐
已为社区贡献2条内容
所有评论(0)