首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务不会在Linux启动时启动

服务不会在Linux启动时启动
EN

Stack Overflow用户
提问于 2014-11-27 03:34:35
回答 1查看 338关注 0票数 0

下午好,

我在Debian上使用update-rc.d插入启动服务时遇到了问题(在Raspberry Pi上)

我正在运行的用于插入服务的命令是:

代码语言:javascript
复制
sudo update-rc.d setdatetime defaults

chmod权限设置为755的服务本身(文件/etc/init.d/setdatetime)如下所示:

代码语言:javascript
复制
#!/bin/bash
### BEGIN INIT INFO
# Provides:          update
# Required-Start:    $syslog
# Required-Stop:     $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       This service is used to set date and time
### END INIT INFO


case "$1" in
    start)
        echo "Setting date and time"
        sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
        ;;
    stop)
        ;;
    *)
        echo "Usage: /etc/init.d/setdatetime start|stop"
        exit 1
        ;;
esac

exit 0

我可以使用以下命令运行该服务而不会出现问题

代码语言:javascript
复制
sudo /etc/init.d/setdatetime start

ls /etc/rc*.d列出已安装的服务:

但是服务不能在启动时运行!我错过了什么?

代码语言:javascript
复制
open@localhost ~ $ ls /etc/rc*.d
/etc/rc0.d:
K01alsa-utils    K01open-client   K01setdatetime   K05nfs-common  K09halt
K01fake-hwclock  K01open-iconfig  K01triggerhappy  K05rpcbind     README
K01ifplugd       K01open-update   K01urandom       K06hwclock.sh
K01lightdm       K01open-web      K02sendsigs      K06networking
K01mongod        K01plymouth      K03rsyslog       K07umountfs
K01mosquitto     K01samba         K04umountnfs.sh  K08umountroot

/etc/rc1.d:
K01alsa-utils    K01mosquitto     K01samba         K05rpcbind    S02single
K01fake-hwclock  K01open-client   K01setdatetime   README
K01ifplugd       K01open-iconfig  K01triggerhappy  S01bootlogs
K01lightdm       K01open-update   K03rsyslog       S01killprocs
K01mongod        K01open-web      K05nfs-common    S01motd

/etc/rc2.d:
K01lightdm     S01motd          S02dphys-swapfile   S02rsync
K05nfs-common  S01rsyslog       S02mosquitto        S02setdatetime
K05rpcbind     S01samba         S02ntp              S02ssh
README         S01sudo          S02open-client      S04plymouth
S01bootlogs    S01triggerhappy  S02open-iconfig     S04rc.local
S01ifplugd     S02cron          S02open-update      S04rmnologin
S01mongod      S02dbus          S02open-web

/etc/rc3.d:
K05nfs-common  S01rsyslog         S02mosquitto        S02setdatetime
K05rpcbind     S01samba           S02ntp              S02ssh
README         S01sudo            S02open-client      S03lightdm
S01bootlogs    S01triggerhappy    S02open-iconfig     S04plymouth
S01ifplugd     S02cron            S02open-update      S04rc.local
S01mongod      S02dbus            S02open-web         S04rmnologin
S01motd        S02dphys-swapfile  S02rsync

/etc/rc4.d:
K05nfs-common  S01rsyslog         S02mosquitto        S02setdatetime
K05rpcbind     S01samba           S02ntp              S02ssh
README         S01sudo            S02open-client      S03lightdm
S01bootlogs    S01triggerhappy    S02open-iconfig     S04plymouth
S01ifplugd     S02cron            S02open-update      S04rc.local
S01mongod      S02dbus            S02open-web         S04rmnologin
S01motd        S02dphys-swapfile  S02rsync

/etc/rc5.d:
K05nfs-common  S01rsyslog         S02mosquitto        S02setdatetime
K05rpcbind     S01samba           S02ntp              S02ssh
README         S01sudo            S02open-client      S03lightdm
S01bootlogs    S01triggerhappy    S02open-iconfig     S04plymouth
S01ifplugd     S02cron            S02open-update      S04rc.local
S01mongod      S02dbus            S02open-web         S04rmnologin
S01motd        S02dphys-swapfile  S02rsync

/etc/rc6.d:
K01alsa-utils    K01open-client      K01setdatetime   K05nfs-common  K09reboot
K01fake-hwclock  K01open-iconfig     K01triggerhappy  K05rpcbind     README
K01ifplugd       K01open-update      K01urandom       K06hwclock.sh
K01lightdm       K01open-web         K02sendsigs      K06networking
K01mongod        K01plymouth         K03rsyslog       K07umountfs
K01mosquitto     K01samba            K04umountnfs.sh  K08umountroot

/etc/rcS.d:
K05hwclock.sh        S05checkroot.sh            S11networking
K12rpcbind           S06checkroot-bootclean.sh  S12mountnfs.sh
K13nfs-common        S06kmod                    S13mountnfs-bootclean.sh
README               S06mtab.sh                 S14kbd
S01fake-hwclock      S07checkfs.sh              S15console-setup
S01hostname.sh       S08mountall.sh             S16alsa-utils
S01mountkernfs.sh    S09mountall-bootclean.sh   S16bootmisc.sh
S02udev              S10procps                  S16plymouth-log
S03keyboard-setup    S10udev-mtab               S16x11-common
S04mountdevsubfs.sh  S10urandom
EN

回答 1

Stack Overflow用户

发布于 2014-11-27 07:52:13

看起来你的依赖关系出了问题。您必须确保在setdatetime服务之前启动了syslog服务。

显然,如果您手动启动您的服务,计算机已经完成引导,因此syslog正在运行,因此您的服务可以正常工作。

您还可以尝试删除对syslog的依赖。

更好的是:因为您的服务只运行一次,所以您还可以将适当的命令放在/etc/rc.local中该文件最后一行的前面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27157485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档