td-agentを使っていたのですが,自動起動させたくないので設定を見直したらちょっとハマった話.
たぶん他の.plistでも効くと思われます.
よもやま
td-agent.plistの場所はこちらでした.
/Library/LaunchDaemons/td-agent.plist
起動と停止はこちら.
(起動)sudo launchstl load /Library/LaunchDaemons/td-agent.plist
(停止)sudo launchstl unload /Library/LaunchDaemons/td-agent.plist
本題
まずはファイルを見てみましょう.こんな感じ.
<?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>KeepAlive</key> <true/> <key>Label</key> <string>td-agent</string> <key>ProgramArguments</key> <array> <string>/opt/td-agent/usr/sbin/td-agent</string> <string>--log</string> <string>/var/log/td-agent/td-agent.log</string> <string>--use-v1-config</string> </array> <key>RunAtLoad</key> <true/> <key>WorkingDirectory</key> <string>/opt/td-agent</string> </dict> </plist>
自動起動をしないときはRunAtLoadの下にある<true/>
から<false/>
にしたらOKと思ったら,ダメでした.
実は上の方に記述されているKeepAliveが<ture/>
の場合,システムはこのデーモンをなんとか起動し続けようとするらしいです(killしてもすぐに復帰するとか).
なので,KeepAliveとRunAtLoadの<true/>
を両方とも<false/>
にしたら解決しました.