少女祈祷中...
KitsuneBlog

Linux服务创建和相关知识点

问题场景:

我喜欢玩Steam的游戏,并部署了一个开源项目让我的Steam游戏自己会挂机在上面增加游戏时长,但每次重启服务器都需要手动启动服务非常麻烦

我需要解决的问题:

1.需要服务在启动后能自启动

2.需要在检测到服务出现故障时重新启动

注意!解决问题

已知我的服务文件地址在

61874462b6f7e0091ff6196735f7d7a4406343434.png@652w_260h-LDNt.webp

我需要执行的程序

何能让他自启动呢?

1.到服务创建的目录下

2b75c31f49b978d9267230b883efb949406343434.png@1192w-jVdv.webp

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文件中指定的一种服务类型,表示该服务将直接启动其主进程,并且不会创建任何额外的子进程作为守护进程(一般单进程程序选择这个)


评论