Mam Raspberry Pi z systemem OSMC (oparty na Debianie).
Ustawiłem zadanie crona, aby uruchomić skrypt, sync.sh, o północy.
0 0 * * * /usr/local/bin sync.sh
Muszę zatrzymać skrypt o 7 rano. Obecnie używam:
0 7 * * * shutdown -r now
Czy jest lepszy sposób? Mam wrażenie, że ponowne uruchomienie to przesada.
Dzięki
Jeśli synchronizacja może być kontynuowana po 17 godzinach hibernacji, spróbuj
Jeśli synchronizacja woli zacząć od nowa, spróbuj
Jeśli synchronizacja lub podzadania ignorują sygnały, ale nie pozostawiają resztek, zrób to
killall
∈ psmiscźródło
0 0 * * * timeout 7h /usr/local/bin/sync.sh
mój lub w większości taki samkillall -TERM
.Używałbym również crona do „zatrzymania” lub „zabicia” tej usługi lub skryptu w określonym czasie.
Najpierw utwórz zadanie cron, aby uruchomić zadanie lub skrypt. (możesz łatwo uruchomić innego crona, który zabije zadanie o nazwie
sudo pkill wget
)Po drugie, chcesz zobaczyć uruchamianie zadań crontab, w użytecznym i czytelnym formacie, w wynikach:
Pojawią się w pierwszych wierszach, mniej więcej tak:
Pierwsza kolumna to PID, druga to identyfikator sesji, a trzecia to polecenie uruchomione przez crona. Możesz zabić wszystkie procesy związane z konkretnym zadaniem cron przy użyciu identyfikatora sesji, więc w powyższym przykładzie powinieneś zabić identyfikator sesji 4289:
Musisz umieścić pkill w skrypcie i uruchomić go jako cron
źródło