【问题标题】:How do I start a service on boot in debian?如何在 debian 中启动服务?
【发布时间】:2016-05-20 14:23:45
【问题描述】:

所以我创建了一个服务并让它在 /etc/init.d 中执行 然后我尝试使用以下命令使其在启动后启动:

update-rc.d <myService> defaults

但输出是其他服务的警告(顺便说一句,它们工作得很好),我不想碰那些。

我下一次尝试解决这个问题是在 rc.local 文件中添加以下行:

do_start() {
        service <someOtherService> stop
        service <myService> stop
        sleep 5
        service <someOtherService> start
        service <myService> stop
        ........

正如我所说,我还有一些其他服务可以正常工作,但我目前尝试添加的服务在启动后不会启动。

我还要补充一点,当我手动输入时:

service <myService> start/stop

然后它就可以正常工作了

【问题讨论】:

    标签: linux shell service debian boot


    【解决方案1】:

    要在启动时添加服务,您可以添加 Upstart 作业。

    在 /etc/init 中创建您的 conf 文件(例如 /etc/init/myjob.conf)

    有这样的内容(示例)

    description "My job"
    start on startup
    task
    exec /path/to/script.sh
    

    更多信息here(Debian 文档)

    信息:你需要暴发户包。

    【讨论】:

    • 您能详细说明一下吗?这是否与服务齐头并进,还是我应该完全删除我为新贵创建的功能性服务?
    • 好吧,对不起,我不是专家,但它似乎正在替换启动的 systemd 服务。
    【解决方案2】:

    以下内容对我来说效果很好。

    首先确定您的系统是否正在运行 SysV init 或 systemd,以供使用:

    $ ps -p 1
    

    如果 SysV init

    $ sudo update-rc.d <service_name> defaults 95 10
    

    如果 systemd

    $ sudo /bin/systemctl daemon-reload
    $ sudo /bin/systemctl enable <service_name>.service
    

    我在基于 Debian 5 的 ParrotSecurity 操作系统上成功使用了最后一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      相关资源
      最近更新 更多