部門 > Mac OS X > launchd

「部門/Mac OS X/launchd」の編集履歴(バックアップ)一覧はこちら

部門/Mac OS X/launchd」(2013/11/16 (土) 01:14:00) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

cronで設定使用してもなんだか動いてくれないので、launchdを調べてみた。 Lingon([[Mac App Store - Lingon 3>http://itunes.apple.com/jp/app/lingon-3/id450201424]])を使うと簡単だと書いてあって、250円くらいなら払ってもいいかなって感じはするけど、大したことやらないのであれば公式ガイド([[Daemons and Services Programming Guide: Scheduling Timed Jobs>https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html]])を見たら行けそうな感じがする。 いま実際に動いてるものは >ls /System/Library/LaunchDaemons すると確認できる。ここに入ってる*.plistってやつらはXMLで書かれていて、同じように書いてここに置いておけばいいみたい。 というわけで >echo "hoge" > /Users/hoge/Desktop/hoge.txt というのを~/Desktop/hoge.shとして、これを上のリンク先みたいに書いてみた。 #highlight(xml){{<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>hoge</string> <key>ProgramArguments</key> <array> <string>/Users/hoge/Desktop/hoge.sh</string> </array> <key>StartInterval</key> <integer>30</integer> </dict> </plist>}} これを、/System/Library/LaunchDaemons/hoge.plist とした。 ...30秒たってもhoge.txtが生成されない。インストールが必要らしい。 >launchctl load /System/Library/LaunchDaemons/hoge.plist としたら、ちゃんと動いた! ***loadするときのエラー loadしようとしたとき、 >launchctl: no plist was returned for: hoge.plist とかってエラーが出ることがある。原因の可能性はいくつかあると思うけど、構文間違いかどうかは >plutil -lint hoge.plist とすることで教えてくれる。 → [[osx - What's wrong with my launchctl config? - Ask Different>http://apple.stackexchange.com/questions/46368/whats-wrong-with-my-launchctl-config]] ところで[[上のリンク>https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html]]を読んでいたら、7月11日が日曜日のときというのは、 >every time July 11 falls on a Sunday というのか。不思議な言い方。 *参考リンク -[[cronからlaunchdへ(より効率的なジョブ管理を目指して) - ザリガニが見ていた...。>http://d.hatena.ne.jp/zariganitosh/20090308/1236539611]] -[[LaunchDaemons (launchctl, launchd.plist) の使い方 - maruko2 Note.>http://www.maruko2.com/mw/LaunchDaemons_(launchctl,_launchd.plist)_%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9]] -[[Daemons and Services Programming Guide: Scheduling Timed Jobs>https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html]] -[[Daemons and Services Programming Guide: Creating Launch Daemons and Agents>https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html#//apple_ref/doc/uid/TP40001762-104142]]
cronで設定しようしてもなんだか動いてくれないので、launchdを調べてみた。 Lingon([[Mac App Store - Lingon 3>http://itunes.apple.com/jp/app/lingon-3/id450201424]])を使うと簡単だと書いてあって、250円くらいなら払ってもいいかなって感じはするけど、大したことやらないのであれば公式ガイド([[Daemons and Services Programming Guide: Scheduling Timed Jobs>https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html]])を見たら行けそうな感じがする。 いま実際に動いてるものは >ls /System/Library/LaunchDaemons すると確認できる。ここに入ってる*.plistってやつらはXMLで書かれていて、同じように書いてここに置いておけばいいみたい。 というわけで >echo "hoge" > /Users/hoge/Desktop/hoge.txt というのを~/Desktop/hoge.shとして、これを上のリンク先みたいに書いてみた。 #highlight(xml){{<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>hoge</string> <key>ProgramArguments</key> <array> <string>/Users/hoge/Desktop/hoge.sh</string> </array> <key>StartInterval</key> <integer>30</integer> </dict> </plist>}} これを、/System/Library/LaunchDaemons/hoge.plist とした。 ...30秒たってもhoge.txtが生成されない。インストールが必要らしい。 >launchctl load /System/Library/LaunchDaemons/hoge.plist としたら、ちゃんと動いた! hoge.plistを修正したら、 >launchctl unload /System/Library/LaunchDaemons/hoge.plist してからもう一度loadする。 ***loadするときのエラー loadしようとしたとき、 >launchctl: no plist was returned for: hoge.plist とかってエラーが出ることがある。原因の可能性はいくつかあると思うけど、構文間違いかどうかは >plutil -lint hoge.plist とすることで教えてくれる。 → [[osx - What's wrong with my launchctl config? - Ask Different>http://apple.stackexchange.com/questions/46368/whats-wrong-with-my-launchctl-config]] ところで[[上のリンク>https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html]]を読んでいたら、7月11日が日曜日のときというのは、 >every time July 11 falls on a Sunday というのか。不思議な言い方。 *参考リンク -[[cronからlaunchdへ(より効率的なジョブ管理を目指して) - ザリガニが見ていた...。>http://d.hatena.ne.jp/zariganitosh/20090308/1236539611]] -[[LaunchDaemons (launchctl, launchd.plist) の使い方 - maruko2 Note.>http://www.maruko2.com/mw/LaunchDaemons_(launchctl,_launchd.plist)_%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9]] -[[Daemons and Services Programming Guide: Scheduling Timed Jobs>https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html]] -[[Daemons and Services Programming Guide: Creating Launch Daemons and Agents>https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html#//apple_ref/doc/uid/TP40001762-104142]] (OK)

表示オプション

横に並べて表示:
変化行の前後のみ表示: