Приложение Dotnet запущено, так как демон не работает должным образом - PullRequest
0 голосов
/ 24 мая 2018

Я разработал простое приложение, используя NetCore, приложение записывает содержимое в файл каждый раз, когда выполняется, это код:

using System;
using System.IO;

namespace SimpleApp
{
   class Program
   {
       static void Main(string[] args)
       {
          using (StreamWriter writer = new StreamWriter("log.txt", true))
          {
              writer.WriteLine("Hello World");
          }
       }
   }
}

, поэтому, если я запускаю приложение следующим образом:dotnet SimpleApp.dll Я получаю log.txt файл с Hello World в нем.

Теперь я пытаюсь создать демон linux, у меня нет такого опыта, поэтому я написал то, что узнал в ИнтернетеЯ создал сервис cakked console.service, который содержит эту структуру:

[Unit]
Description = Hello World Daemon

[Service]
ExecStart = /usr/bin/dotnet /home/my username/Desktop/publish/SimpleApp.dll
Restart = on-failure

[Install]
WantedBy = multi-user.target

Итак, по сути, у меня есть описание, и я установил в ExecStart путь моей установки dotnet и путьприложение.

Позже у меня есть Install, который при правильном понимании сообщает systemctl, что служба может работать для каждого пользователя, верно?

Позже я скопировал службу в system папка:

sudo cp console.service /lib/systemd/system

и я включил ее:

sudo systemctl daemon-reload 
sudo systemctl enable console.service

так, я выполнил службу:

sudo systemctl start console.service

и когда я распечатал статус:

systemctl status console.service

будет отображаться это:

enter image description here

проблема в том, что внутри папки publish (путь к приложению указанв ExecStart) У меня нет log.txt в настоящее время.

Почему?

1 Ответ

0 голосов
/ 24 мая 2018

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

Вы можете либо изменить "log.txt" на полный путь, либо установить рабочий каталог в.service файл:

[Service]
WorkingDirectory=/path/you/want/the/file/to/be/in
…
...