【Ubuntu】shell监控进程定时杀死进程

功能描述

Ubuntu系统下spring项目,调用命令行执行相关指令,在执行到某个函数时会调起一个窗口,此时进程停滞,必须手动关闭该窗口才能使进程继续执行,现在的需求是想自动关闭该窗口。

思路

使用shell脚本监控该进程,当检测到该进程时就使用kill命令杀死该进程。

shell

https://explainshell.com/
教程:Shell教程

#!/bin/bash
echo `date` # 输出当前时间,注意这里用的是键盘右上角的~~键
while true
do
  #  pid=&(pgrep Viewer)
  #  count=&(ps -e | grep Viewer | wc -l)
  count=`ps -e | grep Viewer | wc -l` #统计该进程的数量,可能会同时开启多个
#  echo "now have $count process"
  if [[ $count != 0 ]] # 进程数不为0也就是当前存在该进程时
  then
      echo "now have $count Viewer process"
      echo "`date` process Viewer is running" >> /home/smartcity/Desktop/Viewer.log #输出log
      sleep 20 # 等待20s后
      killall Viewer # 杀死当前进程名的所有进程,Viewer为进程名
  fi
  sleep 2 # 每2秒检测一次,时间可以长一些
done

几个进程相关的命令

参考博客:Linux下查看进程和端口信息

ps -e # 查看所有进程
pgrep process_name # 查看进程的pid
ps -ef | grep tomcat # 查看进程id
ps -aux | grep process_name #查看内存占用情况及pid
ps -e | grep process_name | wc -l # 统计进程数量
top -d 1 -p pid [,pid …] #设置为delay 1s,默认是delay 3s

kill:[Linux] killall 、kill 、pkill 命令详解

执行结果

在这里插入图片描述
参考博客:
Ubuntu Linux下定时监测MySQL进程终止时自动重启的方法
Ubuntu14 定时查询任务进程存活状态以及定时杀死进程和重启
Shell编程时出现"[: =: unary operator expected"解决

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值