2014-11-10 4 views
0

Я пытаюсь настроить Yaws (устанавливается с помощью Homebrew) для автоматического запуска под OS X Yosemite с помощью следующей PLIST:Запуска Yaws использования запуска программ под Mac OS X Yosemite

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
     <key>Label</key> 
     <string>ca.seidlitz.yaws</string> 
     <key>ProgramArguments</key> 
     <array> 
       <string>sh</string> 
       <string>-c</string> 
       <string>/usr/local/Cellar/yaws/1.98/bin/yaws --daemon --conf /usr/local/Cellar/yaws/1.98/etc/yaws/yaws.conf</string> 
     </array> 
     <key>RunAtLoad</key> 
     <true/> 
     <key>WorkingDirectory</key> 
     <string>/usr/local/opt/yaws</string> 
     <key>StandardOutPath</key> 
     <string>/tmp/yaws.log</string> 
     <key>StandardErrorPath</key> 
     <string>/tmp/yaws_err.log</string> 
</dict> 
</plist> 

Я пытался загрузить эту PLIST с помощью sudo launchctl load /Library/LaunchDaemons/ca.seidlitz.yaws.plist
но не удаляем. Я не ошибаюсь в /var/system.log, в то время как /tmp/yaws.log содержит эту ошибку: «1> *** Завершение erlang (nonode @ nohost)»

Я также попытался запустить его как демон и в интерактивном режиме. Daemon не создает ошибок в файле журнала, но Yaws не работает.

Может ли кто-нибудь выявить любые проблемы с plist?

+0

Чтобы расширить вопрос: coul кто-нибудь поделиться примером LaunchDaemon plist любого приложения на основе Erlang? – aseidlitz

ответ

1

Вы должны сделать исполняемый /usr/local/Cellar/yaws/1.98/bin/yaws скрипт, если он еще не, избавиться от sh -c вызова, и правильно объявить yaws сценарий и свои аргументы в виде отдельных строк, все так:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
     <key>Label</key> 
     <string>ca.seidlitz.yaws</string> 
     <key>ProgramArguments</key> 
     <array> 
       <string>/usr/local/Cellar/yaws/1.98/bin/yaws</string> 
       <string>--daemon</string> 
       <string>--conf</string> 
       <string>/usr/local/Cellar/yaws/1.98/etc/yaws/yaws.conf</string> 
     </array> 
     <key>RunAtLoad</key> 
     <true/> 
     <key>WorkingDirectory</key> 
     <string>/tmp</string> 
     <key>StandardOutPath</key> 
     <string>/tmp/yaws.log</string> 
     <key>StandardErrorPath</key> 
     <string>/tmp/yaws_err.log</string> 
</dict> 
</plist> 
+0

Спасибо, Стив. Я проверил, что скрипт yaws является исполняемым и изменяет plist в вашем примере, но Yaws все еще не запускаются. В файлах журналов в каталоге/tmp ничего не записано. Я попробую dtrace проверить любые проблемы с разрешением. – aseidlitz

+0

Неясно, работал ли он в интерактивном режиме. Если он не работает в интерактивном режиме, я рекомендую сначала начать работать. –

+0

Да, рыскания отлично работают как в интерактивном режиме, так и демонизированы из оболочки. Единственная проблема заключается в том, чтобы запустить его из Plunch LaunchDaemon. Теперь, когда у меня есть правильный plist, я пытаюсь устранить неполадки, если есть проблемы с разрешениями на файлы и т. Д. На данный момент это выглядит как локальный вопрос. В очередной раз благодарим за помощь. – aseidlitz

Смежные вопросы