/ / Wiele poleceń w jednej linii w cron - bash, shell, cron, crontab

Wiele poleceń w jednym wierszu w cron - bash, shell, cron, crontab

Zasadniczo próbuję uruchomić to piękno: su pi -c "crontab -l | { cat; echo "0 4 * * * pkill -f awesomeFile.py ; python /home/user/python/awesomeFile.py &"; } | crontab -"

Chcę ponownie uruchomić serwer Pythona co noc o 4 rano. Instaluje to poprawnie zadanie cron, ale polecenie nie wykonuje się poprawnie. Zabije stary proces, ale nie uruchomi nowego.

Jakieś sugestie?

Odpowiedzi:

0 dla odpowiedzi № 1

Może cron nie wie, gdzie python jest. Spróbuj uruchomić go z absolutną ścieżką. Z which polecenie można uzyskać lokalizację Pythona:

$> which python /usr/bin/python


0 dla odpowiedzi nr 2

Nienawidzę komentować martwego wątku, ale po prostunatknąłem się na ten dokładny problem i może to dlatego, że twój pkill powraca bez sprawdzania, czy procesy nie są martwe. Tack na tym tagu -w i sprawdzi się raz na sekundę, aby zobaczyć, czy zabójstwo się powiodło, a następnie powrócić. Dla przyszłych użytkowników, którzy są uzależnieni od zamknięcia tego, co używa ich portów, upewnij się, że poczekasz, aż proces prev jest martwy, zanim spróbujesz nowego.