daemonizing scripts
Giorgos Keramidas
keramida at ceid.upatras.gr
Tue May 11 11:48:01 EEST 2010
On Tue, 11 May 2010 11:21:45 +0300, Nick Demou <ndemou at gmail.com> wrote:
> Τρέχω που και που scripts (κυρίως python και σπανιότερα bash ) από το
> /etc/rc.local με
>
> nohup script > log.file &
>
> Είμαι σίγουρος ότι αυτός ο τρόπος δεν είναι και τόσο κομψός (αλλά ήταν
> πολύ γρήγορος :)
>
> Μπορεί κανείς να μου υποδείξει κάποιο καλό how-to για τον Σωστό τρόπο
> να μετατρέψεις ένα python script σε daemon και να χειριστείς το loging
> με αξιοπρεπή τρόπο? ( To ίδιο για bash scripts αλλά αυτό είναι 2η
> προτεραιότητα )
Στήσε το utility daemon(1). Στο FreeBSD είναι μέρος από το base
system. Στο Debian είναι διαθέσιμο με "apt-get install daemon".
Σε άλλα distributions επίσης υπάρχει ως package.
Ύστερα τρέχεις απλά κάτι σαν:
daemon -c -f -p /var/run/script.pidfile ./script
Οι επιλογές -c και -f είναι χρήσιμες για να έχει κάπως πιο
predictable startup environment το script σου:
-c Change the current working directory to the root (“/”).
-f Redirect standard input, standard output and standard error
to /dev/null.
Το pidfile handling το κάνει το daemon(1) utility ΠΡΙΝ το exec()
του script, οπότε γλιτώνεις και από αυτό το βαρετό κομμάτι.
--
"This wheel doesn't have to be reinvented anymore."
More information about the Linux-greek-users
mailing list