Ошибка при создании сервиса для .net приложения на ubuntu 18.4. Путь к исполняемому файлу не является абсолютным:

Я пытаюсь создать службу для моей команды запуска .net.

cd /lib/systemd/system/YellowPages.service

[Unit]
Description = Yellow pages .NET service

[Service]
Type=forking
WorkingDirectory=/home
ExecStart=dotnet /home/yp_app/YellowPages.dll

[Install]
WantedBy=multi-user.target

У меня есть приложение в /home/yp_app.

когда я запускаю: systemd start YellowPages.service, я получаю аргументы Excess.

поэтому я попробовал: systemctl start YellowPages.service я получаю

   Failed to start YellowPages.service: Unit YellowPages.service is not loaded properly: Exec format error.
See system logs and 'systemctl status YellowPages.service' for details.

Когда я заглядываю в cat /var/log/syslog

я мог видеть

systemd[1]: /lib/systemd/system/YellowPages.service:7: Executable path is not 
absolute: dotnet /home/yp_app/YellowPages.dll

Я новичок в Linux, мне интересно, где я ошибаюсь. Может ли кто-нибудь помочь мне с этим?


person sumanth shetty    schedule 01.07.2020    source источник


Ответы (1)


Согласно руководству, ExecStart должен быть абсолютным путем к вашему исполняемому файлу. Однако вы просто используете dotnet, просто измените его на:

ExecStart=/[path]/dotnet  /home/yp_app/YellowPages.dll

Для получения дополнительной информации вы можете обратиться к https://www.freedesktop.org/software/systemd/man/systemd.service.html

person user9989615    schedule 02.07.2020