在Linux上编写一段sh脚本,注意语法不是bash。Linux 检测多个进程是否存在,不存在直接reboot
时间: 2024-03-22 22:37:13 浏览: 12
好的,以下是一段在Linux上编写的sh脚本,注意语法不是bash,用于检测多个进程是否存在,如果不存在则直接reboot:
```
#!/bin/sh
# 定义要检测的进程列表
processes=("process1" "process2" "process3")
# 循环检测进程是否存在
for process in "${processes[@]}"
do
if ! pgrep "$process" > /dev/null
then
echo "$process not running, rebooting..."
reboot
fi
done
echo "All processes running."
```
解释一下上述脚本的实现:
首先,定义了一个要检测的进程列表,这里只列出了三个进程,你可以根据实际情况添加更多的进程。
然后,使用for循环遍历进程列表,使用pgrep命令检测进程是否存在。如果进程不存在,就输出提示信息并执行reboot命令进行重启操作。
最后,如果所有进程都存在,就输出提示信息。
注意,这段脚本需要以root用户权限运行,否则可能无法执行reboot操作。
相关问题
编写一个sh脚本可以每10s检测一次linux的内存,检测十次后不在检测
可以编写以下脚本实现:
#!/bin/bash
count=
while [ $count -lt 10 ]
do
free -m
sleep 10
((count++))
done
当脚本运行时,它会每10秒钟运行一次free -m命令来检测Linux的内存使用情况。它将重复这个过程10次,然后停止检测。
编写一个sh脚本可以检测linux的内存
可以使用以下脚本来检测Linux的内存:
#!/bin/bash
free -h
这个脚本将显示系统的内存使用情况,包括总内存、已用内存、可用内存和缓存。您可以将其保存为一个.sh文件,然后在终端中运行它。