Linux 中设置进程通过 systemctl 启动

Linux 专栏收录该内容
42 篇文章 0 订阅

对于某些脚本或需要启动命令的程序,可以通过创建 xx.service 服务文件来使用 systemctl 控制。

例如,对于 docker-compose,其后台启动且忽略输出信息的命令为:

$ nohup docker-compose -f docker-compose.yml up &

创建 drone.service 服务文件

如果要使用 systemctl 来启动进程(这里以 Drone 这个持续集成工具为例),需要在 /etc/systemd/system/ 目录下创建一个 drone.service 服务文件:

$ vim /etc/systemd/system/drone.service

文件内容如下:

[Unit]
Description=Drone server
After=docker.service nginx.service

[Service]
Restart=always
ExecStart=/usr/local/bin/docker-compose -f /etc/drone/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /etc/drone/docker-compose.yml stop

[Install]
WantedBy=multi-user.target

[Unit] 部分告诉 systemd 在 Docker 和 Nginx 可用之后启动此服务。[Service] 部分告诉 init 系统在发生故障时自动重新启动服务,并且使用 Docker Compose 和我们之前创建的配置文件定义启动和停止 Drone 服务的命令(分别对应 ExecStartExecStop)。[Install] 部分定义了如何使服务在启动时启动。

通过 systemctl 控制服务(启动、停止、查看状态)

保存文件并使用如下命令启动服务:

$ systemctl start drone

查看服务状态, 如状态显示为 active (running) 则服务运行正常:

$ systemctl status drone
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值