~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
のKeepAlive
がtrue
になっていると、mysqlのプロセスが止まった時点でlaunchctlが頑張って起動しなおそうとする。
このため、mysqlを手動で再起動しようとmysql.server restart
を叩くと、この機能と衝突してしまってうまくいかない。stop/startもだいたいダメ。とはいえ再起動のたびにplistをunload/loadするのも面倒くさい(今までこれをやってた)。
じゃあどうするのかというと、KeepAlive
をfalse
にする。
$ diff -u ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist{.org,} --- ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist.org 2013-10-11 11:52:08.000000000 +0900 +++ ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 2013-10-11 11:52:17.000000000 +0900 @@ -3,7 +3,7 @@ <plist version="1.0"> <dict> <key>KeepAlive</key> - <true/> + <false/> <key>Label</key> <string>homebrew.mxcl.mysql</string> <key>ProgramArguments</key>
そしてplistをunload/loadすれば、mysql.server restart
で再起動するようになる。
$ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist $ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist