shell 脚本 检查3次rtm2程序是否存在,如果3次都不存在,重启启动rtm2程序
时间: 2023-02-09 15:14:27 浏览: 118
在 shell 脚本中,可以使用 `for` 循环和 `ps aux` 命令来检查进程是否存在。下面是一个示例脚本:
```
#!/bin/bash
count=0
for i in {1..3}
do
if ! pgrep rtm2 > /dev/null
then
((count++))
fi
sleep 1
done
if [ $count -eq 3 ]
then
systemctl restart rtm2
fi
```
这个脚本首先定义了一个变量 `count`,并将其初始值设为 0。然后使用 `for` 循环运行 3 次,每次循环都会使用 `pgrep` 命令来检查 rtm2 进程是否存在。如果不存在,则将 `count` 变量加 1。最后,如果 `count` 的值等于 3,则说明 rtm2 进程在 3 次循环中都不存在,于是就使用 systemctl 重启rtm2程序。
相关问题
shell脚本, 无限循环检查rtm2是否存在,如果3次检查都不存在,重启rtm2,如果检查存在,sleep 5秒
```bash
count=0
while :
do
if pgrep -x "rtm2" > /dev/null
then
count=0
sleep 5
else
count=$((count+1))
if [ $count -eq 3 ]
then
systemctl restart rtm2
count=0
fi
fi
done
```
这是一个无限循环的shell脚本,用于检查rtm2进程是否存在。如果3次检查都不存在,则重启rtm2,如果存在则 sleep 5 秒。
阅读全文
相关推荐








