OSXでcronサービスを再起動するにはどうすればよいですか?


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

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

ここhttps://stackoverflow.com/questions/10193788/restarting-cron-after-changing-crontab-fileの答えはどれもOSXに当てはまらないようです。さて、上のほうが一番近いですが、cronが実行中であることを教えているだけなので、再起動することを心配する必要はありません。これは何かを再起動するポイントではありません。

Macでcronサービスを停止して再起動するにはどうすればよいですか?


2
cronを再起動して何を達成しようとしていますか?
マーク

1
cronの再起動を達成しようとしています。私は、サービスは絶対に積極的に新しいのcrontabファイルを見ていることを確認するに害を見ない
jcollumを

回答:


7

cronデーモンはlaunchctlで管理されます。

再起動を要求する場合は、それぞれの起動デーモンをアンロードおよびロードする必要があります。

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

ただし、任意のcrontabを追加または削除する場合、それらを有効または無効にするためにデーモンをリロードする必要はありません。

上記の起動デーモンplistには、(crontab)ファイルの作成と削除または変更された日付を検出し、cronを「指示」するWatch Directoryディレクティブが含まれています。


0

cronmanページから:

cronユーティリティは、/ etc / crontabまたは/ usr / lib / cron / tabs内のファイルの存在を確認すると、launchd(8)によって起動されます。手動で起動する必要はありません。詳細については、/ System / Library / LaunchDaemons / com.vix.cron.plistを参照してください。

そのため、興味深いことに、cronによって起動されlaunchdます。ただし、man crontab

(Darwinのメモ:cron(8)とcrontab(5)はDarwinで公式にサポートされていますが、それらの機能はlaunchd(8)に吸収され、コマンドを自動的に実行するより柔軟な方法を提供します。詳細についてはlaunchctl(1)を参照してください)

そのため、cronによって起動されlaunchd、は廃止されましたlaunchdcronベーコン風味のベーコンが必要なため、使用はベーコンでベーコンを包むようなものです。

再起動する限り、cron必要はありません。crontabファイルが見つかると、自動的にジョブを起動します。

ただし、次を使用してジョブのスケジュール開始することを強くお勧めします。launchd.


私はので、私はそれが新しいファイルが再起動することでロードされたことを確認したいのですが、すべての時間のファイルへの変更を確認するためにコンピュータを信頼していない
jcollum

-1、「それについては心配しないでください」と言って質問に答える
jcollum

入力する場合crontab -l; そこにあるものは何でもロードされます。
アラン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.