• 使用systemd方式添加开机运行sh脚本


    转载自:https://blog.csdn.net/qq570437459/article/details/87094870;做了部分修改

    ubuntu18.04压根就没有rc.local,而且很多发行版都推荐使用systemd而不是initd了。
    1.准备好你的sh脚本文件

    内容略过,就假设路径是/usr/local/my/my.sh吧。别忘了chmod +x。
    2.创建一个service文件

    进入/etc/systemd/system/,创建一个my.service文件,内容如下:(可以用#添加注释,和Python的注释方式一样)

    [Unit]
    Description=just for test  # 这里填简介
    After=BBB.service XXX.service  AAA.service  # 这里填上你这个脚本所需要的前置service,都在/etc/systemd/system/下【这一项可以不写】
    
    [Service]
    ExecStart=/usr/local/my/my.sh  # 这里填sh文件路径,比如这里运行了这个my.sh,后面也可以跟运行my.sh的参数,比如 -D -I【注意,这里不能直接写命令简称,如"source /etc/environment"或source /etc/environment,但是可以用命令绝对名,如/usr/bin/python xx.py;最好用一个sh文件或py文件来执行命令】                                                                                                                           
    
    [Install]
    WantedBy=multi-user.target
    

    如果是Python脚本,可以通过import os模块,然后用os.system("ps aux|grep xx")来执行命令

    3.完事

    使用这条命令看my.service配置是否正确

    systemctl status my.service

    使用以下命令使能这个服务开机启动:

    # 重新加载配置文件
    $ sudo systemctl daemon-reload              service文件改动后要重新reload一下(类似刷新到缓存里)
    $ sudo systemctl enable my.service          这句是为了设置开机启动
    

    通过这条命令查看是否生效

    systemctl list-unit-files | grep my.service

    如果你想立刻启动这个服务从而执行里面的sh脚本,就运行下面这句:

    # 重启相关服务
    $ sudo systemctl start my.service           启动服务
    

    关于service文件里的一些选项,在

        http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

  • 相关阅读:
    手把手教你用jQuery Mobile做相册
    一篇文章教会你用Python爬取淘宝评论数据(写在记事本)
    [C#] (原创)一步一步教你自定义控件——01,TrackBar
    性能测试系列(4)-进程和线程的区别
    熊海CMS_1.0 代码审计
    Web Security Academy ___XXE injection___Lab
    关于路径存储的常见优化——前向星与链式前向星
    2020.7.27考试D1T2:方块消除(Block)
    2020.7.27考试D1T1:Cow Pie Treasures
    【DP水题】P4823 [TJOI2013]拯救小矮人
  • 原文地址:https://www.cnblogs.com/silentdoer/p/12766212.html
Copyright © 2020-2023  润新知