Запуск Radicale с launchd (только) завершается неудачно при запуске - PullRequest
0 голосов
/ 06 октября 2018

Я использую radicale (https://radicale.org/) в качестве локального сервера calDAV / cardDAV на моей машине (macox 10.12.6).

Запуск с bash работает:

python3 -m radicale --config=/Path/to/configuration/file

Чтобы избавить меня от необходимости вызывать его вручную при каждом запуске, я написал файл .plist launchd (local.radicale.launch.plist) для запуска в качестве демона (например, /Library/launchDaemons).

<?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>Disabled</key>
  <false/>
  <key>Label</key>
  <string>local.radicale.launch</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/python3</string>
    <string>-m</string>
    <string>radicale</string>
    <string>--config=/path/to/configuration/file</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>StandardOutPath</key>
  <string>/path/to/stdout/file</string>
  <key>StandardErrorPath</key>
  <string>/path/to/stderr/file</string>
</dict>
</plist>

И затем загрузите его встек launchd с:

sudo launchctl load -w /Library/LaunchDaemons/local.radicale.launch.plist

Radicale запускается немедленно без ошибок. Даже когда я снова выгружаю и загружаю plist, radicale запускается снова без проблем. Запуск radicale из bash вручную также работает (s.выше).

Я также проверил файл с LaunchControl. Никаких проблем. Работает и работает.

Но когда я перезагружаю свою машину (чтобы убедиться, что все на самом деле работает), radicaleне запускается.

К сожалению, в StandardOutPath / StandardErrorPath не регистрируются ошибки. Только в system.log я получаю бессмысленное сообщение:

localhost com.apple.xpc.launchd[1] (local.radicale.launch[81]): Service exited with abnormal code: 1

Я мог убедиться, чтоФайл radicale plist не загружен (sudo launchctl list | grep radicale). Даже при этом не удается запустить radicale.

Странно, разгрузка и загрузка листа вручную (s.выше) получает радикала, чтобы начать прямо сейчас.Без ошибок, без проблем.

Так что, кажется, при загрузке происходит что-то странное.Может быть, это связано с тем, как launchd выполняет список?

В настоящее время у меня заканчиваются идеи о том, что может быть не так (или, скорее, что я сделал неправильно), так как plist, кажется, правильно выполняет свою работу, вызывая его вручную.За исключением загрузки или перезагрузки машины.

У кого-нибудь есть подсказка, куда мне указывать ...?

Заранее спасибо, что касается Фелика

...