命令在终端中运行,但不能作为服务运行

命令在终端中运行,但不能作为服务运行

这些问题很多都是因为路径错误造成的。这不可能是我的问题,因为我把绝对路径放在那里。当我启动服务时,即使启动成功,它总是显示“inactive(死机)”

我的 .service 文件如下:

[Unit]
Description=hd-idle - spin down idle hard disks
Documentation=man:hd-idle(1)
After=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root
#EnvironmentFile=/etc/default/hd-idle
ExecStart=/usr/sbin/hd-idle -i 10
Restart=always

[Install]
WantedBy=multi-user.target

答案1

我在另一个巧合的地方找到了我的解决方案StackExchange 帖子

就是RemainAfterExit在服务类别中将标签设置为yes:

RemainAfterExit=yes

据我了解,其原因是该命令执行,但更改了另一个程序要更改的系统标志。当我不设置RemainAfterExit标签时,我的程序只会退出而不执行任何操作,这导致它在我的情况下不执行任何操作。

相关内容