Skocz do zawartości
jensej

Bash - startuj skrypt gdy nie ma procesu

Polecane posty

Witam.

Napisałem sobie skrypt który ma sprawdzać czy proces działa. Dodałem do crona skrypt żeby odpalał go co 1 min. Ale niestety odpala go w nieskonczoność. Możecie powiedzieć co jest źle?:

#!/bin/bash
OUTPUT="$(cat /var/www/node_modules/mybot.pid)"
OUT="$(ps -p $OUTPUT)"
if [[ $OUT == *"node"* ]]
then
	echo 'dziala';
else
	now="$(date +%Y%m%d%H%M%S)"
	nohup node /var/www/node_modules/bot.js >> "/var/www/node_modules/logi/logi_$now.txt" &
	echo $! > mybot.pid
fi

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bash jest naprawdę fajnym rozwiązaniem, ale od tego jest kupa developerów tworząca systemd, żeby nauczyć się jak on dokładnie działa, a nie tracić czas na pisanie własnych, z definicji gorszych rozwiązań, jeśli rozwiązanie masz podane na tacy bo cały twój OS z niego korzysta.

 

https://www.freedesktop.org/software/systemd/man/systemd.service.html

 

 

 

Restart= Configures whether the service shall be restarted when the service process exits, is killed, or a timeout is reached.

 

Nie wynajdujcie koła na nowo kiedy rozwiązanie jest tuż obok za drzwiami z napisem "technologia". Nie dość, że stracicie kupę czasu na tworzenie go, to jeszcze z definicji będzie gorszym rozwiązaniem niż te, nad którym pracuje potężna ekipa developerów już od kilku lat.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×