TL; DR: есть ли способ отключить запуск сервера Pow при загрузке моей машины, но сохранить возможность запуска сервера вручную через powder up
когда мне это нужно для запуска?
я использую бух для моего местного развития (и управления через Порошковый камень). Я бы хотел настроить Pow так, чтобы сервер не запускался автоматически при загрузке, так как при его запуске расходуется заряд батареи, и я не всегда пишу код.
Пау добавил себя в launchd
и я не могу, кажется, добраться до сценария, где сервер Pow не запускается после запуска, но все еще может быть запущен через powder up
или другая эквивалентная команда, когда мне нужно запустить сервер.
То, что я пробовал, не сработало:
cx.pow.powd
процесс через launchctl unload -w ~/Library/LaunchAgents/cx.pow.powd
предотвращает загрузку Pow при запуске, но также предотвращает запуск процесса вручную, когда мне это нужноRunAtLoad
в NO
в файле cx.pow.powd.plist также не работал, позже понял, что это не для управления поведением запуска демона.Забыл опубликовать ответ, который я выяснил.
Оказывается, это довольно просто на самом деле, и довольно легко с помощью Lunchy (дружественная оболочка для launchctl) и быстрый псевдоним. Немного хакер, и я не очень хорошо знаю launchctl, но это помогает.
Шаги (предполагается, что Lunchy и Pow уже установлены):
lunchy stop -w pow
: это остановит Pow и пометит службу как отключенную в launchctl, поэтому Pow не будет загружаться при запуске машины. (Это тот же самый чистый эффект моих первоначальных попыток из вопроса.).bash_profile
(или же .profile
и т. д.) для принудительного запуска службы. => alias pu='lunchy start -F pow'
Когда вы перезапустите компьютер, Pow должен быть остановлен и запущен pu
(или ваш псевдоним) должен запустить его. Вы можете увидеть список служб, запущенных до / после, запустив lunchy status
,
Это также хакерский, но эффективный способ иметь возможность запускать / останавливать группы сервисов, которые вам нужны для разработки, но не обязательно запускать остальное время (монго, redis и т. Д.).
использование KeepAlive
с PathState
ключ.
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.
Создайте файл по пути, когда вы хотите запустить сервер Pow.
Я недавно столкнулся с этой проблемой и решил ее, просто двигая cx.pow.powd.plist
в другую папку, которая успешно отключает автоматический запуск сервера Pow. Когда я хочу начать это снова, я просто двигаюсь cx.pow.powd.plist
Вернуться в ~/Library/LaunchAgents/cx.pow.powd
и беги powder up
,