对于某些脚本或需要启动命令的程序,可以通过创建 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

最新文章

  1. Centos 6.6 下搭建php5.2.17+Zend Optimizer3.3.9+Jexus环境
  2. initial、inherit、unset、revert和all
  3. Delphi String 常用字串符处理函数
  4. IOS开发之带格式的文本
  5. mysql inner join,full outer join,left join,right jion
  6. Linux 内核开发 - 进程空间
  7. Android OpenCV实现图片叠加,水印
  8. JS一些小算术、1加到50、乘法口诀表、买鸡等
  9. 给工作添点乐趣--- 为Idea编译时打印图案
  10. Kubernetes的污点和容忍(下篇)
  11. JDK9新特性实战:流关闭新姿势
  12. js变量提升与函数提升的详细过程
  13. 一、tars简单介绍 二、tars 安装部署资料准备
  14. identity一些接口
  15. 看起来像是break的考量
  16. java的子类覆盖梗
  17. Java Magic. Part 1: java.net.URL
  18. volatile关键字到底做了什么?
  19. python 中 numpy array 中的维度
  20. c#和.net区别

热门文章

  1. [mysql相关集锦] 001 - mysql zip安装/The service already exists/MySQL 服务无法启动
  2. 大数加减(51nod)
  3. 将地址转成blob格式(服务器下运行)
  4. 谈Apache OFbiz 会员模块表结构设计
  5. struts2 spring 优缺点
  6. JS中兼容问题的汇总
  7. Sprak2.0 Streaming消费Kafka数据实时计算及运算结果保存数据库代码示例
  8. Tree命令安装和使用
  9. NtQuerySystemInformation
  10. PCB项目 X1 STC12C5A60S2-LQPF48