使用 systemctl 在启动服务时自动启动的问题

使用 systemctl 在启动服务时自动启动的问题

我正在尝试systemctl在 Raspberry pi 4 中自动启动一个程序。

[Unit]
Description = Connect to server automatically on boot
After = multi-user.target
 
[Service]
Type = idle
ExecStart = /usr/bin/sudo /usr/share/dotnet/dotnet /home/pi/E6101/AV308XC/AV308XC.dll > /home/pi/log2.txt 2>&1
    
[Install]
WantedBy=multi-user.target

这是我要操作的服务文件。我添加> /home/pi/log2.txt 2>&1检查它是否工作正常或出了什么问题,但甚至log2.txt没有创建文件。

所以我检查了我的服务文件的状态dotnet_auto.service。下面是它的结果。

  $ sudo systemctl status dotnet_auto.service

● dotnet_auto.service - Connect to server automatically on boot
   Loaded: loaded (/lib/systemd/system/dotnet_auto.service; enabled; vendor preset: enabled)
   Active: failed (Result: signal) since Tue 2021-11-09 12:14:01 KST; 2min 34s ago
  Process: 741 ExecStart=/usr/bin/sudo /usr/share/dotnet/dotnet /home/pi/E6101/AV308XC/AV308XC.dll > /home/pi/log2.txt 2>&1 (code=killed, signal=ABRT)

11월 09 12:14:01 EMTRP4DEV1 sudo[741]:    at Microsoft.Extensions.Configuration.FileConfigurationProvider.HandleException(ExceptionDispatchInfo info)
11월 09 12:14:01 EMTRP4DEV1 sudo[741]:    at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
11월 09 12:14:01 EMTRP4DEV1 sudo[741]:    at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load()
11월 09 12:14:01 EMTRP4DEV1 sudo[741]:    at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
11월 09 12:14:01 EMTRP4DEV1 sudo[741]:    at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
11월 09 12:14:01 EMTRP4DEV1 sudo[741]:    at AV308XC.Program.Main(String[] args) in C:\KDSONG\Project\SKD\2021-08 - AVISS - MEMS SENSOR\AV308XC\Program.cs:line 26
11월 09 12:14:01 EMTRP4DEV1 sudo[741]: pam_unix(sudo:session): session closed for user root
11월 09 12:14:01 EMTRP4DEV1 systemd[1]: dotnet_auto.service: Control process exited, code=killed, status=6/ABRT
11월 09 12:14:01 EMTRP4DEV1 systemd[1]: dotnet_auto.service: Failed with result 'signal'.
11월 09 12:14:01 EMTRP4DEV1 systemd[1]: Failed to start Connect to server automatically on boot.

ExecStart如果我在控制台上手动运行,该命令效果很好。我已经尝试了Type和部分的几种选项(也许不是全部......)Restart。结果略有不同,但大部分相同。

如果有人对此有所了解,请发表评论或回答问题。如果您认为我想要操作的程序的代码似乎是问题所在,请告诉我是什么。但是,很抱歉,我无法向您展示代码……我确实有源代码,但它不是我的……无论如何,除了源代码之外,如果您需要检查某些内容,请发表评论。

相关内容