How can I stop the Pow server from starting up at computer boot (OS X)?

五迷三道 提交于 2019-11-30 22:50:00

Forgot to post the answer I ended up figuring out.

Turns out this is pretty straightforward actually, and quite easy with the help of Lunchy (friendly wrapper for launchctl) and a quick bit o' bash aliasing. A little hacky and I don't know launchctl very well, but this does the trick.

Steps (assumes Lunchy and Pow already installed):

  1. Run lunchy stop -w pow: this will stop Pow, and mark the service as disabled in launchctl, so Pow will not load when the machine starts. (This is same net effect of my initial attempts from the question.)
  2. Set up an alias in your .bash_profile (or .profile, etc) to force start the service. => alias pu='lunchy start -F pow'

When you restart your machine, Pow should be stopped, and running pu (or your alias name) should start it up. You can see the list of services running before/after by running lunchy status.

It's also a hacky but effective way to be able to start/stop groups of services you need for devlopment but don't necessarily want running the rest of the time (mongo, redis, etc).

Use KeepAlive with PathState key.

PathState <dictionary of booleans>
       Each key in this dictionary is a file-system path. If the value of the key is true, then the job
       will be kept alive as long as the path exists.  If false, the job will be kept alive in the
       inverse condition. The intent of this feature is that two or more jobs may create semaphores in
       the file-system namespace.

Create a file at path when you want to launch pow server.

I came across this issue recently and solved it by simply moving cx.pow.powd.plist to another folder, which successfully disables auto start of the Pow server. When I want to start it again I just move cx.pow.powd.plist back into ~/Library/LaunchAgents/cx.pow.powd and run powder up.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!