zoukankan      html  css  js  c++  java
  • 在centos上面开机自启动某个程序

    Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。可以通过 systemctl --version 命令来查看使用的版本

    常用命令

    # 立即启动一个服务
    $ sudo systemctl start apache.service
    # 立即停止一个服务
    $ sudo systemctl stop apache.service
    # 重启一个服务
    $ sudo systemctl restart apache.service
    # 杀死一个服务的所有子进程
    $ sudo systemctl kill apache.service
    # 重新加载一个服务的配置文件
    $ sudo systemctl reload apache.service
    # 重载所有修改过的配置文件
    $ sudo systemctl daemon-reload
    # 显示某个 Unit 的所有底层参数
    $ systemctl show httpd.service

    Supervisor

    Supervisor是是一个用python写的进程管理程序,不仅仅可以用来管理进程,还可以用来做开机启动。它有但不限于以下一些功能:

    重启机器后,能够自启动。
    平时有个方便的进程查看方式。
    能够有个方便的方式重启进程。

    配置方法这里就不做记录了,不过要注意,默认的配置文件里面会把一些supervisor生成的重要文件放到 /tmp 目录下面,操作系统可能会把这些文件进行删除,导致 supervisorctl 命令由于找不到这些以前放到 /tmp 的文件而操作不了已经启动的supervisor进程。

    方法

    为了能够在机器启动之后自动启动supervisor,需要把supervisor进程配置进systemd,

    步骤:

    1. 进入目录 /usr/lib/systemd/system/,增加文件 supervisord.service,来使得机器启动的时候启动supervisor,文件内容
    # supervisord service for systemd (CentOS 7.0+)
    # by ET-CS (https://github.com/ET-CS)
    [Unit]
    Description=Supervisor daemon
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
    ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
    ExecReload=/usr/bin/supervisorctl $OPTIONS reload
    KillMode=process
    Restart=on-failure
    RestartSec=42s
    
    [Install]
    WantedBy=multi-user.target
    1. 激活开机启动命令

      systemctl enable supervisord.service
    2. 启动supervisor进程

      systemctl start supervisord.service
    3. 关闭supervisor进程

      systemctl stop supervisord.service
    4. 如果修改了supervisor.service文件,可以通过reload命令来重新加载配置文件

      systemctl reload supervisord.service

    检查

    可以通过 ps 命令可以查看supervisor 是否启动,并且可以查看supervisor管理的进程是否启动。

  • 相关阅读:
    Redis5设计与源码分析 (第17章 HyperLogLog相关命令的实现)
    Redis5设计与源码分析 (第16章 GEO相关命令)
    ES5和ES6函数的this指向
    vue响应式原理 (响应式并不等于数据双向绑定,千万不要混淆)
    vue中data为什么是函数而不是对象
    vue-enum 前端常量 枚举工具
    Vue3 写业务逻辑不适合用TS(TypeScript)
    vue-property-decorator vue3 ts 用的装饰器
    github git clone下载加速 && npm install 下载加速
    vue3 如果用ts,导出时候要用 defineComponent,这俩是配对的,为了类型的审查正确
  • 原文地址:https://www.cnblogs.com/zhangym/p/6293076.html
Copyright © 2011-2022 走看看