Try launchd on macOS
🏷️
Photo by Joshua Hoehne on Unsplash
macOS でのデーモン系の管理は launchd というものを利用するみたいですね.
早速 yaskkserv2 を launchd で管理してみました.
以下に記載の通りですが,ユーザ管理ものは ~/Library/LaunchAgents に配置するようなのでそこに置きます.
Script management with launched in Terminal on Mac
OS 起動時に立ち上がってほしいので RunAtLoad で起動するようにしました.
<?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>net.yuzumone.yaskkserv</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/yaskkserv2</string>
<string>--no-daemonize</string>
<string>--listen-address=127.0.0.1</string>
<string>--google-japanese-input=notfound</string>
<string>/usr/share/skk/dictionary.yaskkserv2</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
あとは有効化します.
$ launchctl load yaskkserv.plist
$ launchctl list | rg yuzumone
58020 0 net.yuzumone.yaskkserv
systemd.timer のように定期実行もできそうなので,crond よりもこっちを利用したほうが良さそうです.