Ich möchte alle Jobs suchen, die mehr als eine Stunde laufen. töte sie. Dann schlafen für 60 Minuten. Suchen Sie erneut, ob ein Job mehr als 60 Mal ausgeführt wird? Schleife den Prozess.Wie kann man protokollierende Jobs in jedem einstündigen Intervall beenden?
Antwort
Wenn Sie die PIDs für die Prozesse für mehr als 60 Minuten auf Ihrer Linux-Box laufen finden Sie einen sehr einfachen und grundlegenden Bash-Skript wie die unten verwenden:
#!/bin/sh
MIN=60
SEC=$((MIN*60))
ps -eo etimes=,pid= | while read sec pid; do
if [ ${sec} -gt ${SEC} ]; then
echo ${pid}
#kill -9 ${pid} # remove the # at the beginning of the line to actually kill those processes
fi
done
Dies wird die Anzeige PIDs der laufenden Prozesse, eine pro Zeile
Angenommen, Sie dieses Skript nennen 60min.sh, können Sie es alle 60 Minuten laufen einen cron-Job mit:
0 * * * * /bin/bash /path_to/60min.sh
wird dieser Cron-Job Ihre 60min.sh Skript alle 60 Minuten (oder jede Stunde) laufen
Bitte beachten Sie, dass Sie versehentlich Systemprozesse töten könnte und Ihr System möglicherweise instabil oder unbrauchbar werden, so dass Sie haben neu starten.
Wenn Sie verschiedene Prozesse unter Verwendung eines bestimmten Linux-Benutzers ausführen, würde ich Ihnen empfehlen, die Prozesse zu durchsuchen, die nur diesem Benutzer gehören und nicht dem Benutzer root.
- 1. Wie verhindert man Travis-Jobs nach jedem Commit?
- 2. Rufereignis in dispatchtimer nach jedem Minuten-Intervall
- 3. objective-c protokollierende Best Practices
- 4. Wie man ein beobachtbares Intervall manuell stoppt?
- 5. CasperJS: Wie kann man die Skriptausführung beenden?
- 6. Bot Framework: Wie kann man Konversation beenden?
- 7. Wie kann man einen C# -Prozess beenden?
- 8. Android Schwimmdock Knopf verschiedene Jobs in jedem Tab
- 9. Welcher Wert war in jedem 2.5s Intervall vorhanden (Resampling?) Numpy
- 10. Quartz.net Wiederholungsauftrag im Intervall nach Abschluss des Jobs
- 11. wie man Jobs mit nohup in lxd
- 12. Wie erstellt man Batch-Jobs in Mysql?
- 13. Wie Intervall von Observable stoppen
- 14. Wie man eine Android-App von jedem Bildschirm mit "Zurück-Taste" in Android beenden?
- 15. Wie kann man einen Thread in C# sofort beenden?
- 16. Wie kann man einen Nodejs-Prozess in Linux beenden?
- 17. Beenden Sie zsh, aber lassen Sie laufende Jobs offen?
- 18. jQuery wie sieht man in jedem()?
- 19. Extra rufus-scheduler thread mit jedem delayed_job rake jobs: work
- 20. Wie Ping-Intervall in Aktion Kabelschienen ändern
- 21. Bash Programmierung, Hintergrundprozesse, PIDs und warten auf Jobs zu beenden
- 22. Wie kann man einen offenen Prozess auf node.js beenden?
- 23. Beenden des Hangfire-Jobs aus der Warteschlange, wenn er bereits in die Warteschlange gestellt wurde
- 24. Wie kann man einen Android-App-Hintergrundprozess beenden?
- 25. Wie kann man Fullscreen onclick mit Javascript beenden?
- 26. Wie kann man Robocopy davon abhalten, den Build zu beenden?
- 27. Wie kann man die Laravel-Queue beenden: listen - queue = notification?
- 28. Wie kann man einen externen Prozess beenden, der gestartet wurde?
- 29. Wie kann man ein Modul beenden, bevor es geparst ist?
- 30. Wie kann ich Schleifen in Xcode beenden?
Bitte posten Sie, was Sie bisher versucht haben und schauen Sie sich an, wie Sie gute Fragen stellen können: [fragen] –