Дано:
- Демон, имеющий 1-30 подпрограмм.
- 1 программа в приоритете, лежит она - плохо, лежат остальные - ничего страшного.
Алгоритм:
- Просматриваем все программы.
- В цикле находим нужную программа. (Если не нашли, то программу можно завершать)
- Иначе поднимаем демон, при условии что запущена хотя бы еще одна другая программа.
Так как я полный ламер в данном языке, не могли бы вы помочь мне переделать программу, скажем, сделать её проще, быстрее, читабельнее. Ибо скрипт будет запускаться примерно раз в 5-10 минут. А это 144-360 раз в день. Я так подумал, то что я тут написал положит мне сервер уже через 2 дня работы. Очень прошу

Код: Выделить всё
#!/bin/sh
PW_PATH=/home
Online=false
Num=0
GS="$(ps -A w | grep ./gs | grep -v grep)"
for gs in $GS
do
if [ $gs = "gs01" ]
then
Online=true
break
fi
Num=`expr ${Num} + 1`
done
if [ ${Num} -ge 6 ];
if [ ${Online} = false ];
then
Поднимаем демон
fi
then
continue
fi
Пример
Код: Выделить всё
debian:~# ps -A w | grep ./gs | grep -v grep
7389 ? Sl 20:58 ./gs gs01
7442 ? Sl 10:37 ./gs is01
7464 ? Sl 11:19 ./gs is12
Демон работает

Пример
Код: Выделить всё
debian:~# ps -A w | grep ./gs | grep -v grep
7442 ? Sl 10:37 ./gs is01
7464 ? Sl 11:19 ./gs is12
Демон не работает

Пример
Код: Выделить всё
debian:~# ps -A w | grep ./gs | grep -v grep
Нет ответа. Значит ничего не делаем.
Заранее огромное спасибо...
P.S. Извините если с разделом ошибся.