Wie starte ich den Cron-Dienst unter OSX neu?

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?

Was willst du mit dem Neustart von Cron erreichen?
Ich versuche, den Neustart von cron zu erreichen; Ich sehe keinen Schaden darin, zu bestätigen, dass der Dienst die neuen crontab-Dateien absolut positiv gesehen hat

Antworten (3)

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".

/System/Library/LaunchDaemons/com.vix.cron.plist: Der Vorgang ist nicht zulässig, während der Systemintegritätsschutz aktiviert ist
sudo pkill -f cron

Der LaunchDaemon enthält einen Keepalive-Abschnitt, der ihn sofort neu startet.

Bitte verwenden Sie Code-Formatierung für Code- und Shell-Befehle. Es erleichtert das Lesen/Erkennen und hilft auch Menschen mit Screenreadern.
Programmierer verwenden Screenreader? Ähm, okay
Sie werden überrascht sein. Wie auch immer, die meisten Besucher hier sind keine Programmierer.

Aus der cronManpage:

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, cronwird 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, crondas von gestartet wurde launchd, ist für veraltet launchd. Die Verwendung cronist 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 crontabDatei sieht, wird es automatisch den Job starten.

Es wird jedoch dringend empfohlen, mit der Planung von Jobs zu beginnenlaunchd.

Ich traue Computern nicht zu, ständig Änderungen an Dateien zu sehen, daher möchte ich bestätigen, dass die neuen Dateien durch einen Neustart geladen wurden
-1, beantwortet die Frage mit "Mach dir keine Sorgen"
Wenn Sie crontab -l; Was da ist, wird geladen.