Moja odpowiedź jest nieco taka sama, jak powiedział Mike.
W skrypcie powinieneś umieścić coś takiego:
- utwórz plik blokady
- Sprawdź, czy plik blokady istnieje podczas następnego uruchomienia.
Ale jest jedna bardzo ważna rzecz, którą powinieneś zrobić. i żeby wprowadzić system pułapek.
Tak więc dzięki temu, nawet jeśli w jakiś sposób twój skrypt zostanie zabity lub ktoś go zabije, możesz złapać ten sygnał i usunąć plik blokady, aby nie mieć nieaktualnego pliku blokady.
Można przeczytać, jak wdrożyć, że ponad tutaj .
Tylko jedna mała rzecz, nie możesz złapać pułapki na sygnał 9, to znaczy, jeśli ktoś tak zrobi kill -9, nie możesz złapać tego w pułapkę, ponieważ ten sygnał bezpośrednio oddziałuje z jądrem i nie ma sposobu, aby to zrobić.
Ponadto, zgodnie z sugestią Johna, musisz usunąć plik blokady przy każdym ponownym uruchomieniu systemu, aby upewnić się, że nie ma już przestarzałego pliku.
Można to łatwo zrobić, umieszczając małe rm -f <FILE>polecenie w /etc/rc.local