2016-07-06 4 views
0

У меня есть приложение, я пытаюсь работать с моно через Systemd на убунту Когда я бегумоно сервис Systemd обыкновение начать

systemctl status myservice.service 

я получаю следующее:

Loaded: loaded (/lib/systemd/system/myservice.service; bad; vendor preset: enabled) 
    Active: inactive (dead) 

Мой файл службы выглядит следующим образом:

[Unit] 
Description=The description 
After=network.target 

[Service] 
User=theuser 

ExecStart=/usr/bin/mono -- /home/pathtoservice/myapplication.exe --parameter1=p1 --parameter2=p2 


[Install] 
WantedBy=multi-user.target 

у меня есть RAN:

/usr/bin/mono -- /home/pathtoservice/myapplication.exe --parameter1=p1 --parameter2=p2 

из командной строки и работает. Любые идеи о том, что не так?

Я предполагаю, что он находится в служебном файле, но посмотрел на другие примеры и не мог понять, что с ним не так. Новое в Ubuntu поэтому не уверен, где искать, чтобы диагностировать этот вопрос

ответ

1

Сначала проверьте свои журналы:

journalctl -u myservice.service 

Добавляя это в файл модуля может улучшить ведение журнала:

StandardOutput=journal+console 

В в некоторых случаях, если некоторые регистрации происходят непосредственно перед выходом службы, журналы не будут помечены службой, поэтому после запуска службы также просмотрите:

journalctl 

Записи сразу после выхода вашего сервиса.

Также, используя network.target, попробуйте network-online.target.

Я предполагаю, что приложение работает ОК из командной строки. Предполагая, что это работает именно так, а не из systemd, могут быть проблемы с различными переменными среды. Добавьте строку вверху вашего приложения, чтобы сбрасывать все переменные среды и сравнивать этот вывод при запуске от systemd по сравнению с CLI.

Наконец, просмотрите документы для Type=. Если по умолчанию Type = не применяется к вашему делу, установите его соответствующим образом.

Возможные ответы на вопросы, относящиеся к systemd, могут быть лучше удовлетворены на Unix & Linux StackExchange, поскольку они напрямую не связаны с программированием.

+0

спасибо, что знак, указывающий, что пользователь не имеет права доступа к каталогу. Не проблема, запущенная из командной строки при запуске с правами root – Noel

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