zoukankan      html  css  js  c++  java
  • [ubuntu][deepin]系统增加自定义开机启动项

    [ubuntu][deepin]系统增加自定义开机启动项

    进行配置

    • cd /etc/init.d/
    • ls
    • vim myScript

    nginx实例

    #! /bin/sh
    # chkconfig: 2345 55 25
    # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
    # run 'update-rc.d -f nginx defaults', or use the appropriate command on your
    # distro. For CentOS/Redhat run: 'chkconfig --add nginx'
    
    ### BEGIN INIT INFO
    # Provides:          nginx
    # Required-Start:    $all
    # Required-Stop:     $all
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: starts the nginx web server
    # Description:       starts nginx using start-stop-daemon
    ### END INIT INFO
    
    # Author:   licess
    # website:  https://lnmp.org
    
    NGINX_BIN='/usr/local/nginx/sbin/nginx'
    CONFIG='/usr/local/nginx/conf/nginx.conf'
    
    case "$1" in
        start)
            echo -n "Starting nginx... "
    
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" != "" ]; then
                echo "nginx (pid $PID) already running."
                exit 1
            fi
    
            $NGINX_BIN -c $CONFIG
    
            if [ "$?" != 0 ]; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
            ;;
    
        stop)
            echo -n "Stoping nginx... "
    
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" = "" ]; then
                echo "nginx is not running."
                exit 1
            fi
    
            $NGINX_BIN -s stop
    
            if [ "$?" != 0 ] ; then
                echo " failed. Use force-quit"
                $0 force-quit
            else
                echo " done"
            fi
            ;;
    
        status)
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" != "" ]; then
                echo "nginx (pid $PID) is running..."
            else
                echo "nginx is stopped."
                exit 0
            fi
            ;;
    
        force-quit|kill)
            echo -n "Terminating nginx... "
    
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" = "" ]; then
                echo "nginx is is stopped."
                exit 1
            fi
    
            kill $PID
    
            if [ "$?" != 0 ]; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
            ;;
    
        restart)
            $0 stop
            sleep 1
            $0 start
            ;;
    
        reload)
            echo -n "Reload nginx... "
    
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" != "" ]; then
                $NGINX_BIN -s reload
                echo " done"
            else
                echo "nginx is not running, can't reload."
                exit 1
            fi
            ;;
    
        configtest)
            echo -n "Test nginx configure files... "
    
            $NGINX_BIN -t
            ;;
    
        *)
            echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}"
            exit 1
            ;;
    
    esac

    模板

    下面开始进行我们自己的配置

    #! /bin/sh
    # chkconfig: 2345 55 25
    # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
    # run 'update-rc.d -f nginx defaults', or use the appropriate command on your
    # distro. For CentOS/Redhat run: 'chkconfig --add nginx'
    
    ### BEGIN INIT INFO
    # Provides: [程序名称,唯一]
    # Required-Start: $all
    # Required-Stop: $all
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: [启动项的简短说明]
    # Description: [启动项的完整说明]
    ### END INIT INFO
    
    [需要执行的命令]
    
    exit 0

    咱们自己的

    #! /bin/sh
    # chkconfig: 2345 55 25
    # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
    # run 'update-rc.d -f nginx defaults', or use the appropriate command on your
    # distro. For CentOS/Redhat run: 'chkconfig --add nginx'
    
    ### BEGIN INIT INFO
    # Provides: myScript
    # Required-Start: $all
    # Required-Stop: $all
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: myScript
    # Description: myScript
    ### END INIT INFO
    
    echo "myScript,hello word~~~" >>/home/myScript.txt
    
    exit 0

    ~~~~~~~~~~~~~~

    如果要运行脚本或者程序,可以定义变量,但是会涉及一个开机自启程序读取本地配置或者文件的问题。

    不定义也行,哈哈哈

    BIN='/home/landv/go/src/aa/aa'
    
    $BIN

    BIN是一个变量自己随便搞

    ~~~~~~~~~~~~~~

    接下来,我们给myScript加上可执行的属性

    • chmod + x myScript

    然后加入开机启动项目中

      “大便系列”

    • update-rc.d myScript defaults

    删除开机启动项目

    • update-rc.d -f myScript remove

    注意

    /etc/init 是系统启动

    /etc/init.d是应用启动

    /etc/rc*.d这个是启动级别,具体级别含义请查询Linux启动级别

    update-rc.d 这条命令就是把/etc/init.d/的配置加入这些级别中。

    当然还有别的启动方式,先会这一种吧。

  • 相关阅读:
    【weka应用技术与实践】过滤器
    【软件分析与挖掘】Vision of Software Clone Management: Past, Present, and Future (Keynote Paper)
    【软件分析与挖掘】Multiple kernel ensemble learning for software defect prediction
    【Thinking in Java-CHAPTER 3】操作符
    【软件分析与挖掘】A Comparative Study of Supervised Learning Algorithms for Re-opened Bug Prediction
    【Thinking in Java-CHAPTER 1&&2】对象导论&&一切都是对象
    【cs229-Lecture20】策略搜索
    【cs229-Lecture19】微分动态规划
    【cs229-Lecture18】线性二次型调节控制
    【cs229-Lecture17】离散与维数灾难
  • 原文地址:https://www.cnblogs.com/landv/p/11319230.html
Copyright © 2011-2022 走看看