linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > shell查询进程并杀死

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查询进程并杀死内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文