Antworten:
Versuchen Sie den timeout
Befehl. Zum Beispiel:
0 * * * * timeout -2 3540 /path/to/your_command.sh
sendet ein SIGINT an Ihren Befehl, wenn es in 59 Minuten nicht abgeschlossen ist.
usage: timeout [-signal] time command...
timeout: /usr/bin/timeout
Nee. Die Art und Weise, wie wir dies tun, besteht darin, ein Skript mit einer Sperrdatei zu erstellen und das Skript für diese Sperrdatei überprüfen zu lassen, bevor es erneut ausgeführt wird, damit es überprüfen kann, ob es bereits ausgeführt wird, und entscheiden kann, ob es ausgeführt wird, wenn es darauf wartet, dass das andere ausgeführt wird Ende oder wenn es den anderen vor dem Laufen tötet.
Eine Sperrdatei ist nur eine leere Datei oder eine Datei, in der das andere Skript PID
irgendwo wie /var/run
oder gespeichert ist /var/lock
.