Осьо, накотило на мене натхнення, і зробив байду, яку давно треба було зробить, та все якось воно, знаєте, так собі...
#!/bin/sh
tfile=/tmp/sdme.$$
while true
do
cnt=0
vlist=
for i in $(service -e | egrep "/local/|cron|sshd|named|ntpd\$|syslogd" )
do
i=${i##*/}
if service $i status | grep "not running" > /dev/null
then vlist="$vlist ' $i ' '\Z1 Stopped \Zn' x "
else vlist="$vlist ' $i ' '\Zb\Z3 Running \Zn' x "
fi
cnt=$(( cnt + 1 ))
done
cnt2=$(( cnt + 7 ))
comm="--colors --ok-label 'Re/Start' --extra-button --extra-label 'Stop'
--defaultno --cancel-label 'Exit' --separate-output --checklist
'\Z1\Zb \Zr == Simplest Daemon Manager Ever == \Zn' $cnt2 42 $cnt "
eval dialog $comm $vlist 2>$tfile; retval=$?
case $retval in
0) cmd="restart" ;;
3) cmd="stop" ;;
*) exit 0 ;;
esac
for line in $( cat $tfile )
do service $line $cmd 2>/dev/null 1>/dev/null; done
rm $tfile
sleep 1
done
####