ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G31
$ sudo cron restart
cron: cron already running, pid: 257`
Keine der Antworten hier https://stackoverflow.com/questions/10193788/restarting-cron-after-changing-crontab-file scheint für OSX zu gelten. Nun, das obige ist das nächste, aber es scheint mir nur zu sagen, dass cron läuft, also muss ich mir keine Sorgen machen, es neu zu starten. Was nicht der Punkt ist, etwas neu zu starten.
Wie stoppe ich den Cron-Dienst auf einem Mac und starte ihn neu?
Der Cron-Daemon wird mit launchctl verwaltet.
Wenn Sie darauf bestehen, es neu zu starten, müssen Sie den entsprechenden Start-Daemon entladen und laden:
sudo launchctl unload /System/Library/LaunchDaemons/com.vix.cron.plist
sudo launchctl load /System/Library/LaunchDaemons/com.vix.cron.plist
Aber: das Hinzufügen oder Entfernen beliebiger Crontabs sollte kein Neuladen des Daemons erfordern, um sie zu aktivieren oder zu deaktivieren.
Die obige Start-Daemon-Plist enthält eine Watch Directory- Anweisung, die das Erstellen und Löschen von Dateien (crontab) oder geänderte Daten erkennt und Cron entsprechend "instruiert".
sudo pkill -f cron
Der LaunchDaemon enthält einen Keepalive-Abschnitt, der ihn sofort neu startet.
Aus der cron
Manpage:
Das Cron-Dienstprogramm wird von launchd(8) gestartet, wenn es die Existenz von /etc/crontab oder Dateien in /usr/lib/cron/tabs sieht. Es sollte nicht notwendig sein, es manuell zu starten. Siehe /System/Library/LaunchDaemons/com.vix.cron.plist für Details.
Also, interessanterweise, cron
wird von gestartet launchd
. Allerdings gemman crontab
(Anmerkung von Darwin: Obwohl cron(8) und crontab(5) offiziell von Darwin unterstützt werden, wurde ihre Funktionalität in launchd(8) aufgenommen, was eine flexiblere Art der automatischen Ausführung von Befehlen bietet. Siehe launchctl(1) für weitere Informationen .)
Also, cron
das von gestartet wurde launchd
, ist für veraltet launchd
. Die Verwendung cron
ist wie das Einwickeln von Speck in Speck, weil Sie Speck mit Speckgeschmack möchten.
Was einen Neustart betrifft cron
, besteht keine Notwendigkeit. Sobald es eine crontab
Datei sieht, wird es automatisch den Job starten.
Es wird jedoch dringend empfohlen, mit der Planung von Jobs zu beginnenlaunchd.
crontab -l
; Was da ist, wird geladen.
mmmmmm
jcollum