「部門/Mac OS X/launchd」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
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)