• Ubu18开机自启动Systemd


    参考链接:
    https://blog.csdn.net/qq_16268979/article/details/114771854

    本文内容为个人测试记录,具体文件目录请以读者自己电脑为准,此处只是提供参考

    个人学习难免有所疏漏,如有错误请包容并指出

    看新的吧

    https://www.cnblogs.com/guapilsh/p/15927452.html

    1.准备程序

    服务:autoRun.service

    [Unit]
    Description=AutoStart #z自定义服务名称,可选
    After=network.target
    
    [Service]
    Type=simple
    User=root
    # 服务启动时执行的脚本,
    ### 使用sh命令包括其他Linux系统命令时都要使用全路径,/bin/sh等,包括.sh文件也需要使用绝对路径,才能找到。
    ExecStart=/bin/sh /root/auto/start.sh
    # 服务停止时执行的脚本
    ExecStop=/bin/sh /root/auto/stop.sh
    #Restart=on-failure
    RestartSec=5s
    [Install]
    WantedBy=multi-user.target
    

    服务启动脚本:start.sh, 这里选择用python做一个测试程序

    #!/bin/bash
    echo $! > /root/auto/autoRun.pid
    python3 /root/auto/test.py
    

    测试程序:test.py

    #将当前时间输出到dd.log文件
    from cmath import log
    import os,time
    while True:
         time.sleep(1)
         os.system("date >>  /root/auto/dd.log ")
    

    服务停止脚本:stop.sh

    #/bin/bash
    PID=$(cat /root/auto/autoRun.pid)
    kill -9 $PID
    rm -fr /root/auto/autoRun.pid
    

    Demo程序和脚本准备完成

    2.文件部署

    将服务文件autoRun.service放到/lib/systemd/system目录下

    sudo cp autoRun.service /lib/systemd/system/
    

    将开始脚本start.sh、停止脚本stop.sh和测试程序test.py放到/root/auto/目录下

    3.测试

    注:为方便测试,我这里直接切换到root用户进行操作,实际操作请以个人为准(autoRun后的.service看个人喜好,可加可不加)

    首先重新加载服务

    systemctl daemon-reload
    

    启动脚本(这里启动autoRrun是因为前面autoRun.service的命名)

    systemctl start autoRun
    

    查看服务状态

    systemctl status autoRun
    

    停止服务

    systemctl stop autoRun
    

    设置开机自启动

    systemctl enable autoRun
    

    4.预期结果

    这里我是在云服务器+vscode-cnblog插件写的博客,图片上传没太搞明白,后续有机会补上

    查询状态

    root@Ubu18:~/auto# systemctl status autoRun
    ● autoRun.service - MicroAutoStart
       Loaded: loaded (/lib/systemd/system/autoRun.service; enabled; vendor preset: 
       Active: active (running) since Wed 2022-01-26 01:57:53 CST; 10min ago
     Main PID: 3393 (sh)
        Tasks: 2 (limit: 4006)
       CGroup: /system.slice/autoRun.service
               ├─3393 /bin/sh /root/auto/start.sh
               └─3394 python3 /root/auto/test.py
    
    1月 26 01:57:53 Ubu18 systemd[1]: Started MicroAutoStart.
    

    检查python测试程序运行情况

    root@Ubu18:~/auto# ps aux|grep test
    kernoops   2173  0.0  0.0  56944   424 ?        Ss   01:38   0:00 /usr/sbin/kerneloops --test
    root       3394  0.0  0.2  31476  9536 ?        S    01:57   0:00 python3 /root/auto/test.py
    root       5304  0.0  0.0  16184  1084 pts/0    S+   02:13   0:00 grep --color=auto test
    root@Ubu18:~/auto#
    

    查看dd.log记录:

    root@Ubu18:~/auto# cat dd.log 
    2022年 01月 26日 星期三 02:14:27 CST
    2022年 01月 26日 星期三 02:14:28 CST
    2022年 01月 26日 星期三 02:14:29 CST
    root@Ubu18:~/auto# ^C
    root@Ubu18:~/auto# cat dd.log 
    2022年 01月 26日 星期三 02:14:27 CST
    2022年 01月 26日 星期三 02:14:28 CST
    2022年 01月 26日 星期三 02:14:29 CST
    2022年 01月 26日 星期三 02:14:30 CST
    2022年 01月 26日 星期三 02:14:31 CST
    2022年 01月 26日 星期三 02:14:32 CST
    2022年 01月 26日 星期三 02:14:33 CST
    2022年 01月 26日 星期三 02:14:34 CST
    2022年 01月 26日 星期三 02:14:35 CST
    2022年 01月 26日 星期三 02:14:36 CST
    2022年 01月 26日 星期三 02:14:37 CST
    2022年 01月 26日 星期三 02:14:38 CST
    2022年 01月 26日 星期三 02:14:39 CST
    2022年 01月 26日 星期三 02:14:40 CST
    2022年 01月 26日 星期三 02:14:41 CST
    2022年 01月 26日 星期三 02:14:42 CST
    2022年 01月 26日 星期三 02:14:43 CST
    root@Ubu18:~/auto#
    

    5.开机自启动服务部署成功

  • 相关阅读:
    linux正则表达式
    linux监控值free命令详解
    loadrunner 中数组的定义
    管线工具sed和正则表达式
    web_link()参数化
    mysql执行插入时性能优化
    linux关闭防火墙
    linux系统中变量和环境变量
    mysql源码安装与基本优化配置
    Memory Consistency Erros
  • 原文地址:https://www.cnblogs.com/guapilsh/p/15845279.html
Copyright © 2020-2023  润新知