Linux将程序设为服务

在学习Linux以来,一直有一个问题困扰着我:

我们使用ssh远程连接运行程序时,当我们关闭ssh的窗口时,程序就会自动结束运行

就像之前搭建我的世界服务器时,需要将ssh窗口保持,一旦关闭ssh窗口,服务器就失去连接了。

当时在百度上搜索解决方法时,大家都是使用screen命令来保证程序的继续运行

# 创建screen终端,并命名为minecraft
screen -S minecraft
# 在screen终端下按下Ctrl+a d键可退出终端
# 查看终端列表
screen -ls
# 进入终端
screen -r pid
# 或使用
screen -r -S minecraft

我的minecraft服务器是采用这种方式保证运行的,但是后面配置frp的时候,又遇到了新的问题:

如果服务器重启,怎么实现frp开机自启呢?

结合使用nginx以及ssh的经历,我想也许可以将frp设置为服务,经过一番尝试,终于成功了!下面以frps为例,将frps设置为服务。

都说Linux中一切皆文件,服务也是如此。

  1. 先创建service服务文件:
sudo vim /etc/systemed/system/frps.service
  1. frp.service文件进行编辑
[Unit]
Description=Frp Client
After=network.target
Wants=network.target

[Service]
Restart=on-failure
RestartSec=5
ExecStart=/home/frp/frps    # 程序的绝对路径

[Install]
WantedBy=multi-user.target
  1. 刷新服务列表
systemctl daemon-reload

至此,我们已经将frps添加为服务了,可以进行服务的相关操作了!

设置服务开机自启

systemctl enable frps

开启服务

systemctl start frps

停止服务

systemctl stop frps

重启服务

systemctl restart frps

参考文章

  1. frp设置开机自启

  2. Linux screen命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。