单一系统服务不会开始

时间:2016-07-06 07:08:55

标签: ubuntu mono systemd

我有一个应用程序,我试图在ubuntu上通过systemd运行mono 我跑的时候

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

我跑了:

/usr/bin/mono -- /home/pathtoservice/myapplication.exe --parameter1=p1 --parameter2=p2 
从命令行

它的工作原理。 关于什么是错的任何想法?

我认为它在服务文件中,但已查看其他示例,并且无法查看它有什么问题。 ubuntu的新手,所以不确定在哪里查看诊断问题

1 个答案:

答案 0 :(得分:1)

首先,检查您的日志:

journalctl -u myservice.service

将其添加到您的单元文件可能会改善日志记录:

StandardOutput=journal+console

在某些情况下,如果在服务退出之前发生了某些日志记录,则日志不会被服务标记,因此在运行服务之后,请查看:

journalctl

对于退出服务后的条目。

另外,使用network.target代替network-online.target

我认为应用程序本身可以从命令行运行。假设它以这种方式工作而不是来自systemd,不同的环境变量可能是一个问题。在应用程序顶部添加一行以转储所有环境变量,并在从systemd与CLI运行时比较该输出。

最后,查看Type=的文档。如果默认Type =不适用于您的案例,请相应地进行设置。

systemd可能会更好地回答Activity.recreate()特有的未来问题,因为它们与编程没有直接关系。

相关问题