如何安装init.d脚本?
我正在尝试安装init.d脚本,以运行celery来安排任务。 以下是我遵循的步骤:
- 复制文件celeryd并将其粘贴到文件夹/etc/init.d/
- 在文件夹/ etc / default /中创建了一个配置文件celeryd
现在,当我尝试通过sudo /etc/init.d/celeryd start
启动它sudo /etc/init.d/celeryd start
,它会抛出错误sudo: /etc/init.d/celeryd: command not found
我搜索了如何安装init.d,我得到了这个问题 。
它说发出一个uname -a
,当我这样做时,我得到了这个:
Linux capsonesystem8-desktop 3.2.0-43-generic-pae #68-Ubuntu SMP Wed May 15 03:55:10 UTC 2013 i686 i686 i386 GNU/Linux
并且它说使用像insserv
这样的utils来启用init.d脚本如此尝试:
insserv /etc/init.d/celeryd
但它会抛出错误insserv: command not found
所以我试着安装insserv sudo apt-get install insserv
。 但它说安装了:
insserv is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.
那么如何安装init.d脚本? 任何帮助将不胜感激。
UPDATE1:
我试过的时候:
$ sh -x /etc/init.d/celeryd start
它揭示了一些errors
。 可能这就是服务无法启动的原因。
UPDATE2:
当我运行$ sh -x /etc/init.d/celeryd start
时我清除了所有错误但仍然是sudo /etc/init.d/celeryd start
throws command not found
错误
您的celeryd
脚本可能不可执行,这就是sudo /etc/init.d/celeryd
返回command not found
。 所以,你需要先让它可执行。
为此,请运行以下命令:
sudo chmod 755 /etc/init.d/celeryd sudo chown root:root /etc/init.d/celeryd
第一行将权限更改为-rwxr-xr-x
,第二行确保文件的所有者和组所有者为root
。
完成后,我假设你需要使用sudo /etc/init.d/celeryd start
来启动守护进程。
将脚本复制到位时,不要忘记将其设为可执行文件并由root拥有:
sudo chmod +x /etc/init.d/celeryd sudo chown root:root /etc/init.d/celeryd
安装完成后,可以将其设置为在启动时自动启动:
sudo update-rc.d celeryd defaults sudo update-rc.d celeryd enable
如果在运行insserv
时遇到command not found
错误,可以通过运行以下命令来修复它:
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
然后看insserv -h
或man insserv
寻求帮助。
您也可以尝试:
sudo update-rc.d celeryd defaults
资料来源: https : //askubuntu.com/a/334043/147044
这是在引导时自动启动守护程序的命令序列:
sudo cd /etc/init.d sudo chown root:root celeryd sudo chmod 755 celeryd sudo ln -s /usr/lib/insserv/insserv /sbin/insserv sudo insserv celeryd