Linux 中设置进程通过 systemctl 启动
对于某些脚本或需要启动命令的程序,可以通过创建 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 服务的命令(分别对应 ExecStart
和 ExecStop
)。[Install]
部分定义了如何使服务在启动时启动。
通过 systemctl 控制服务(启动、停止、查看状态)
保存文件并使用如下命令启动服务:
$ systemctl start drone
查看服务状态, 如状态显示为 active (running)
则服务运行正常:
$ systemctl status drone
Linux 中设置进程通过 systemctl 启动的更多相关文章
- centos7中设置nginx的systemctl启动方式
1.建立服务文件 (1)文件路径 vim /usr/lib/systemd/system/nginx.service (2)服务文件内容 [Unit] Description=nginx - high ...
- Linux中 设置apache,mysql 开机启动
linux开启启动的程序一般放在/etc/rc.d/init.d/里面,/etc/init.d/是其软连接 mysql设为linux服务 cp /usr/local/mysql5/share/mysq ...
- Linux中查看进程的多线程pstree, ps -L
Linux中查看进程的多线程 在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢? 本文介绍3种命令来查看Linux系统中的线程(LWP)的情况:在我的 ...
- 如何在 Linux 中查看进程占用的端口号【转】
对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识, ...
- [转帖]Linux教程(8)-Linux中的进程和日志㐇、
Linux教程(8)-Linux中的进程和日志 2018-08-20 23:42:23 钱婷婷 阅读数 3554更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原 ...
- 1.1 Linux中的进程 --fork、孤儿进程、僵尸进程、文件共享分析
操作系统经典的三态如下: 1.就绪态 2.等待(阻塞) 3.运行态 其转换状态如下图所示: 操作系统内核中会维护多个队列,将不同状态的进程加入到不同的队列中,其中撤销是进程运行结束后,由内核收回. 以 ...
- Linux中查看进程与日志
转至:https://www.cnblogs.com/dengxiaoning/p/13336778.html Linux尽管使用频繁,仍然每次都还是需要到处去找相关的命令,如进程,日志之类的,既然这 ...
- 在linux中设置静态ip地址
在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...
- Linux中jar包指定端口启动并记录日志
Linux中jar包指定端口启动并记录日志: java -jar -Dserver.port=38080 group-buying-0.0.1-SNAPSHOT.jar >log.log ...
随机推荐
- RocketMQ安装部署及整合Springboot
消息中间件的功能: 通过学习ActiveMq,kafka,rabbitMq这些消息中间件,我们大致能为消息中间件的功能做一下以下定义:可以先从基本的需求开始思考 最基本的是要能支持消息的发送和接收,需 ...
- selenium的常见异常
selenium的常见异常 Exceptions(异常)Python 自带的异常,所有异常的基类. 异常: selenium.common.exceptions.ElementNotSelectabl ...
- c知识点总结2
函数 int func(int x){ //x:形式参数 .... } int main(){ .... int res=func(z); //z:实际参数 } 实参与形参具有不同的存储单元, 实参与 ...
- SQL Server 基础知识/数据类型/数值类型
数据库设计简单地来讲,也就是设计表格的过程. 表格存储的数据是可以理解为一个二维表,由行和列组成. 原则上来讲,一个数据库只需要一个字段,一个数据类型就可以解决所有的问题,但是这样做并不明智,所以一般 ...
- 浅析API和SDK
前言 最近有小伙伴咨询胡哥关于API和SDK的概念以及区别,今天给大家来阐述下我的理解,手动微笑.gif. API 1. 定义 API(Application Programming Interfac ...
- java 类加载及实例化的调用顺序
1.没有继承的情况 单独一个类的场景下,初始化顺序为依次为 静态变量和静态代码块(看两者的书写顺序),继承的基类的构造函数,成员变量,被调用的构造函数. 代码呈现: public class Test ...
- linux Sersync 参数说明
Sersync 的可选功能是通过 xml 配置文件来实现的,下面来为大家解释该文件! 在该文件中,使用<!--中间是注释内容-->的方式去注释信息,注意不是我们平时# [root@SERS ...
- TypeScript扩展类方法
以数组删除元素为例 javascript数组删除一般是这样 const idx = selectedIDs.findIndex(x => x === deSelected); selectedI ...
- ForkJoinPool源码简单解析
ForkJoin框架之ForkJoinTask java 阅读约 62 分钟 前言 在前面的文章"CompletableFuture和响应式编程"中提到了ForkJoinTas ...
- Python比较两个excel文档内容的异同
#-*- coding: utf-8 -*- #比对两个Excel文件内容的差异#---------------------假设条件----------------#1.源表和目标表格式一致#2.不存 ...