Jak ponownie uruchomić usługę cron w systemie OSX?

4
ProductName:    Mac OS X
ProductVersion: 10.11.6
BuildVersion:   15G31

$ sudo cron restart
cron: cron already running, pid: 257`

Żadna z odpowiedzi tutaj https://stackoverflow.com/questions/10193788/restarting-cron-after-changing-crontab-file wydają się dotyczyć OSX. Powyższy jest najbliższy, ale wydaje mi się, że po prostu mówi mi, że cron działa, więc nie muszę się martwić o ponowne uruchomienie. Co nie jest celem ponownego uruchomienia czegoś.

Jak zatrzymać i ponownie uruchomić usługę cron na komputerze Mac?

jcollum
źródło
2
Co próbujesz osiągnąć przez ponowne uruchomienie crona?
Mark
1
Próbuję zrestartować crona; Nie widzę nic złego w potwierdzeniu, że usługa całkowicie pozytywnie widziała nowe pliki crontab
jcollum

Odpowiedzi:

5

Demon cron jest zarządzany za pomocą launchctl.

Jeśli nalegasz na ponowne uruchomienie, musisz rozładować i załadować odpowiedni demon uruchamiania:

sudo launchctl unload /System/Library/LaunchDaemons/com.vix.cron.plist
sudo launchctl load /System/Library/LaunchDaemons/com.vix.cron.plist

Ale: dodawanie lub usuwanie dowolnych crontabów nie powinno wymagać ponownego załadowania demona, aby je włączyć lub wyłączyć.

Powyższa lista demonów uruchamiania zawiera Oglądaj katalog dyrektywa, która wykrywa (crontab) tworzenie i usuwanie plików lub modyfikuje daty i odpowiednio „instruuje” crona.

klanomath
źródło
0

Od cron strona man:

Narzędzie cron jest uruchamiane przez launchd (8), gdy widzi istnienie   / etc / crontab lub plików w / usr / lib / cron / tabs. Nie powinno być   trzeba go uruchomić ręcznie. Widzieć   /System/Library/LaunchDaemons/com.vix.cron.plist po szczegóły.

Tak więc, wystarczająco dużo, cron jest uruchamiany przez launchd. Jednak według man crontab

(Uwaga Darwina: Chociaż cron (8) i crontab (5) są   oficjalnie wspierany przez Darwina, ich funkcjonalność została   wchłonięty przez launchd (8), co zapewnia bardziej elastyczny sposób   automatycznie wykonuje polecenia. Zobacz launchctl (1) po więcej   Informacja.)

Więc, cron który jest uruchamiany przez launchd, został potępiony za launchd. Za pomocą cron jest jak zawijanie bekonu w boczek, ponieważ chcesz boczku o smaku bekonu.

Jeśli chodzi o ponowne uruchomienie cron, nie ma potrzeby. Raz widzi crontab plik automatycznie uruchomi zadanie.

Jednak jest wysoce wskazane, abyś ty rozpocznij planowanie zadań za pomocą launchd.

Allan
źródło
Nie ufam komputerom, aby cały czas widziały zmiany w plikach, więc chcę potwierdzić, że załadowano nowe pliki, uruchamiając je ponownie
jcollum
-1, odpowiada na pytanie mówiąc „nie martw się o to”
jcollum
Jeśli wpiszesz crontab -l; cokolwiek tam jest, jest załadowane.
Allan