我正在建立一个新的服务程序。我用systemctl
.但是当我授权、启用、启动服务时但它不起作用,并出现错误"无法启动~~~.service。
我命令了这个命令。
sudo systemctl daemon-reload
sudo systemctl start serverProgram.service
sudo systemctl enable serverProgram.service
sudo systemctl status serverProgram.service
错误代码是这样的。
serverProgram.service : Service hold-off time over, scheduling restart.
serverProgram.service : Scheduled restart job, restart counter is a 5. Stopped serverProgram.service.
serverProgram.service : Start request repeated too quickly.
serverProgram.service : Failed with result 'exit-code'.
Failed to start serverProgram.service.
我用纳米写了serverProgram.service
。代码是这样的。
# serverProgram file
[Service]
WorkingDirectory=/home/Desktop/LSH/Study/C++/DaemonProgram
ExecStart=/home/Desktop/LSH/Study/C++/DaemonProgram/main
Restart=always
[Install]
WantedBy=multi-user.target
我想在重新启动时自动激活主程序
看起来您尝试运行的程序在您尝试运行它时立即失败。 systemd
正在尝试重新启动它(因为您有 Restart=always
(,但如果它在很短的时间内检测到大量重新启动,它就会放弃。
如果您的程序在手动运行时正常,请记住,systemd
将尝试以与平时不同的角色(不同的用户、不同的环境设置等(运行它。
您应该能够使用 journalctl
查看程序的输出 - 这个答案有一个关于如何使用它的快速示例。