![命令在终端中运行,但不能作为服务运行](https://linux22.com/image/204555/%E5%91%BD%E4%BB%A4%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%BD%86%E4%B8%8D%E8%83%BD%E4%BD%9C%E4%B8%BA%E6%9C%8D%E5%8A%A1%E8%BF%90%E8%A1%8C.png)
这些问题很多都是因为路径错误造成的。这不可能是我的问题,因为我把绝对路径放在那里。当我启动服务时,即使启动成功,它总是显示“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
标签时,我的程序只会退出而不执行任何操作,这导致它在我的情况下不执行任何操作。