/etc/init.d 中的脚本在启动时不运行

/etc/init.d 中的脚本在启动时不运行

我想在启动时自动运行 Dropbox 守护程序。我通过终端实现了这一点,也就是说,我 (1) 将其移动到/etc/init.d, (2) 使其可执行,然后 (3) 运行sudo update-rc.d dropbox.sh defaults。所以我们有

$ ll /etc/init.d/dropbox.sh 
-rwxr-xr-x 1 root root 38 Aug 16 00:18 /etc/init.d/dropbox.sh*

$ cat /etc/init.d/dropbox.sh 
#! /bin/sh
~/.dropbox-dist/dropboxd &

$ ll ~/.dropbox-dist/dropboxd
-rwxr-xr-x 1 skrd skrd 258 Jun  6 03:03 /home/skrd/.dropbox-dist/dropboxd

但是,Dropbox 在启动时不会运行。

请注意,调用/etc/init.d/dropbox.shdropbox 守护进程将会顺利运行。

我知道 Ubuntu 有一个 GUI,我可以轻松地在那里添加 dropbox 脚本,但我想知道为什么我的终端命令没有这样做? 这不是 Linux 机器的更标准吗?

答案1

insserv如果您使用而不是 ,这可能是一个好方法sudo update-rc.d dropbox.sh defaults

sudo insserv

man insserv

insserv  is a low level tool used by update-rc.d which enables an installed sys‐
tem init script (`boot script')

如果出现command not found错误,可以通过运行以下命令来修复:

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

请参阅insserv -h以获得帮助。

相关内容