Her er min generiske model:
# General Vars
PIDFILE=/var/run/YOUR_SCRIPT.pid
#--- Check script parameters
case $1 in
start)
if [ -f "$PIDFILE" ] && [ -d /proc/`cat $PIDFILE` ]
then
echo "Already running" >&2
exit 1
else
nohup $0 &
exit 0
fi
;;
stop)
if [ -f "$PIDFILE" ] && [ -d /proc/`cat $PIDFILE` ]
then
kill `cat $PIDFILE`
exit 0
else
echo "Not running" >&2
exit 1
fi
;;
check)
if [ -f "$PIDFILE" ] && [ -d /proc/`cat $PIDFILE` ]
then
exit 0
else
exit 1
fi
;;
rcheck)
exit 0
;;
esac
#--- START Main script
echo $$ > $PIDFILE
umask 022
while :
do
REAL CODE
done
On Sat, 07 Apr 2007 20:22:35 +0000, Jørgen Heesche
<heesche@webspeed.dk> wrote:
>KV wrote:
>> Jeg har et program som køre i en evig løkke - kan jeg på én eller anden måde
>> få dette program kørt som en daemon?
>> Jeg ved ikke om jeg bare kan køre:
>>
>> myprog &
>>
>> .. når programmet bliver startet op fra et /etc/init.d/ script ?
>>
>>
>Nej, det kan ikke startes som et baggrundsjob, det skal startes som en
>server, som f.eks. httpd (Apache).
>Dvs. der skal være et script, som kan starte og stoppe programmet.
>Jeg har desværre ingen erfaring på området, men jeg ved så meget, at
>scriptet skal bruge functioner i filen /etc/init.d/functions.
>Måske kan denne Startup Manual
>
http://www.comptechdoc.org/os/linux/startupman/index.html
>hjælpe dig.