Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: frufru 08 Února 2011, 14:11:14
-
Dobry den,
mal by som otazku - je mozne zabezpecit aby sa program ktory spustam v crone kazdych 5 minut nespustil viackrat(t.j. ak este neskoncilo predchadzajuce spustenie, aby sa opatovne nespustil).
Konkretne sa jedna o stahovanie mailov pomocou getmailu.
Za odpoved dakujem.
-
mohl by se v cronu spoustet skript treba s touto konstrukci:
if [ -z "`ps -ef|grep jmeno_programu|grep -v grep`" ]; then
jmeno_programu;
fi
tohle zajisti ze se jmeno_programu spusti pouze tehdy, pokud uz nebezi
-
Jde to jednodušeji:
[[ `pidof -x program` ]] || program
-
Pokud nemuzes pouzit vyse uvedene (napriklad je to skript v nejakym jazyce, kterej se ti bude tezko grepovat - napriklad, kdyz pobezi vicekrat, ale s ruznejma parametrama), tak pouzivam
#!/bin/bash
JOB="lock-"`echo ${0##*/} | cut -d'.' -f1`
if [ -e $JOB ]; then echo "Job already running";exit
else touch $JOB
fi
./neco.py -p
rm $JOB
-
Co být trochu staromodní a vzít to přez pid?