进程名称遵循特定的约定worker1.gs,其中X是一个序列号,值从1到4。我在那里有一个检查worker 1和worker 2的代码片段,依此类推……另外,下面的脚本在检查第一个process..how后终止,以修复它吗?
#!/bin/bash
pidof /usr/bin/gsx /var/app/transcoding/worker1.gs >/dev/null
if [[ $? -ne 0 ]] ; then
echo "Restarting Worker1: $(date)" >> /var/log/httpd/watchdog.txt
/usr/bin/gsx /var/app/transcoding/worker1.gs
fi
pidof /usr/bin/gsx /var/app/transcoding/worker2.gs >/dev/null
if [[ $? -ne 0 ]] ; then
echo "Restarting Worker2: $(date)" >> /var/log/httpd/watchdog.txt
/usr/bin/gsx /var/app/transcoding/worker2.gs
fi发布于 2015-08-02 09:42:47
您可以像在C中一样创建循环:
for((i=0;i<10;i++)); do echo "$i" ; done你可以简化
pidof /usr/bin/gsx /var/app/transcoding/worker1.gs >/dev/null
if [[ $? -ne 0 ]] ; then ... fi转到
pidof /usr/bin/gsx /var/app/transcoding/worker1.gs >/dev/null || { ... }合并:
for((i=0;i<10;i++)); do
pidof /usr/bin/gsx /var/app/transcoding/worker1.gs >/dev/null || {
echo "Restarting Worker$i: $(date)" >> /var/log/httpd/watchdog.txt
/usr/bin/gsx /var/app/transcoding/worker$i.gs
}
donehttps://stackoverflow.com/questions/31767656
复制相似问题