我想定义一个在启动时启动的简单服务,在 Ubuntu 服务器 16.10 上。所以我创建了一个/etc/init.d/mydaemon
我不知何故在 upstart 和 systemd 之间搞砸了:起初我以为我必须设置一个 upstart 服务。因此,在将我的文件转换为 upstart 语法后,我运行了update-rc.d mydaemon defaults.
我找出了我的错误并 run update-rc.d mydaemon remove,转换为 systemd 语法,然后 run systemctl enable mydaemon,但得到错误:
mydaemon.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mydaemon
update-rc.d: error: mydaemonDefault-Start contains no runlevels, aborting.
Run Code Online (Sandbox Code Playgroud)
小智 24
将 sysv 脚本从 redhat box 移植到 ubuntu 时,我遇到了同样的错误。我需要在脚本中添加一些标题
### BEGIN INIT INFO
# Provides: my-service-name
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: your description here
### END INIT INFO
Run Code Online (Sandbox Code Playgroud)
在https://askubuntu.com/questions/909523/default-start-contains-no-runlevels-aborting 中找到
只是为了补充@CharlesB 的答案 - 当我进入这种状态时,我能够简单地将文件从/etc/init.d/to移动/etc/systemd/system/并重新运行命令并且它正常工作:
sudo mv /etc/init.d/mydaemon /etc/systemd/system/
sudo systemctl enable mydaemon
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72059 次 |
| 最近记录: |