问题场景:
我喜欢玩Steam的游戏,并部署了一个开源项目让我的Steam游戏自己会挂机在上面增加游戏时长,但每次重启服务器都需要手动启动服务非常麻烦
我需要解决的问题:
1.需要服务在启动后能自启动
2.需要在检测到服务出现故障时重新启动
注意!解决问题
已知我的服务文件地址在

我需要执行的程序

何能让他自启动呢?
1.到服务创建的目录下

2.创建一个进程文

systemctl daemon-reload 重载systemd配置
pkill -f ArchiSteamFarm 停止可能残留的应用程序
systemctl start asf.service 启动服务
systemctl enable asf.service 创建开启启动服务
systemctl status asf.service 查看它是否运行正常
知识点
service
restart=always 异常自动重启
restartsec=10 检测到异常后重启间隔
知识点2
type=forking 表示服务在启动时会创建一个或多个子进程,而父进程则立即退出 代表服务启动创建多个子进程会自动退出主进程(我目前的程序只有一个进程启动该模式后因为它没有创建子进程,但它依旧会退出我的主进程)
type=simple 是services.unit文件中指定的一种服务类型,表示该服务将直接启动其主进程,并且不会创建任何额外的子进程作为守护进程(一般单进程程序选择这个)
评论