标签: upstart

如何启用或禁用服务?

我阅读了如何在 Ubuntu 中启用和禁用服务,似乎有不同的可能性来管理它们。

我发现的第一种方法是update-rc.d向启动添加新服务,该服务针对/etc/init.d文件夹及其内容。

我发现的另一个是编辑.conf文件/etc/init夹中的文件。

启用/禁用/添加服务的推荐方法是什么?为什么?

您能否提供一个简短的分步示例,说明如何在 Ubuntu 中添加服务并启用和禁用它?

upstart services

885
推荐指数
8
解决办法
130万
查看次数

命令列出启动时启动的服务?

是否有列出启动时运行的服务的命令?我想这将涉及解析/etc/init.d/和各种/etc/rc.*目录。

init.d upstart services systemd

170
推荐指数
8
解决办法
38万
查看次数

“服务”和“/etc/init.d/”有什么区别?

一段时间以来,我一直在管理 Ubuntu 风格上和下的服务器安装 - 我已经非常适应/etc/init.d/重新启动服务。现在我收到这条消息:

root@tatooine:~# /etc/init.d/mysql status
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql status

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status mysql
mysql start/running, process 14048
Run Code Online (Sandbox Code Playgroud)

这似乎是在 Ubuntu 的最新 LTS 中带来的 - 为什么?有什么不好?和/etc/init.d/之间有什么区别?service/etc/init.d/

upstart services

123
推荐指数
2
解决办法
13万
查看次数

如何调试 Upstart 脚本?

出于某种原因,我在 apport upgrades 期间遇到错误,其原因是

% sudo service apport start
start: Job failed to start
Run Code Online (Sandbox Code Playgroud)

在 sysvinit 下,我可以通过运行 eg 来调试这类问题

sudo sh -x /etc/init.d/whatever start
Run Code Online (Sandbox Code Playgroud)

但这似乎并没有映射到 Upstart。我接下来应该尝试什么?

事实证明,有一种解决方法可以让安装继续进行。但我仍然对如何跟踪脚本的一般问题感兴趣。

upstart debugging

68
推荐指数
2
解决办法
10万
查看次数

如何启动和停止服务?

可能的重复:
启用/禁用服务的推荐方法是什么?

除了以下命令之外,是否还有其他命令可以在 ubuntu 中启动停止重启服务。

  1. service --status-all
  2. service <service name> stop
  3. sudosysv-rc-conf

init.d upstart services

66
推荐指数
2
解决办法
47万
查看次数

安装自定义新贵服务的正确方法

我在我的服务器上使用 upstart 提供服务。编写一个 conf 文件并将其放入/etc/init很容易,但这似乎并没有完全安装。一方面,service --status-all没有列出我的新服务。我检查,如果我做一个链接/etc/init.d/lib/init/ubstart-job它会在状态显示出来。但是手动执行此操作让我觉得我做得不对,并且很可能还有其他配置步骤没有完成。

安装新贵服务以使其在所有处理服务的工具中正确注册的正确方法是什么?

upstart

52
推荐指数
3
解决办法
12万
查看次数

生动 - 无法连接到新贵:连接被拒绝

刚刚通过 do-release-upgrade 更新,现在某些新贵工作,如 fail2ban 和 plexmediaserver 将无法启动(已尝试重新安装)

$ sudo service fail2ban start
Job for fail2ban.service failed. See "systemctl status fail2ban.service" and "journalctl -xe" for details.

$ systemctl status fail2ban.service
  fail2ban.service - Fail2Ban Service
   Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit) since Mon 2015-04-27 19:47:27 BST; 26s ago
     Docs: man:fail2ban(1)
  Process: 14423 ExecStart=/usr/bin/fail2ban-client -x start (code=exited, status=255)

$ sudo service plexmediaserver start
Failed to start plexmediaserver.service: Unit plexmediaserver.service failed to load: No such file or directory.

$ …
Run Code Online (Sandbox Code Playgroud)

upstart init services fail2ban

51
推荐指数
2
解决办法
23万
查看次数

如何用 systemd 替换新贵?

由于 Mark Shuttleworth 决定将来切换sytemd,我想知道我现在是否可以在我的 Ubuntu 上安装它?

upstart init systemd

47
推荐指数
1
解决办法
5万
查看次数

如何禁用 avahi-daemon?

我如何禁用 avahi-daemon,如果它显示为服务但它不在 rcN.d 中,你能向我解释它是如何运行的吗?


你可以在这里停止阅读。事实上,除非你想教一个菜鸟一些 Ubuntu,否则请这样做。上面的问题应该很清楚,可以回答。剩下的就是我呼吁一些更结构化的方法来找到绕过 Ubuntu 的方法。我或多或少可以使用其他“类 UNIX”系统。

我是初学者,所以如果我的行为荒谬,请把我视为您的日常 WTF,但请帮助我改进。

在每次启动时,/sbin/init似乎都在启动一个名为avahi-daemon

# initctl list | grep avahi
avahi-daemon start/running, process 1280
Run Code Online (Sandbox Code Playgroud)

作为用户 avahi

# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)
Run Code Online (Sandbox Code Playgroud)

aps -efww ef显示 2 个进程处于活动状态,都称为avahi-daemon,并且PPID第一个进程avahi-daemon确实是1,第二个进程只是第一个进程的子进程。该PPID=1是什么让我觉得这是自动启动。


可选:

我真的不知道如何正确检查系统启动时执行的内容,考虑一下。

这是获取启动时运行的服务列表的方法吗? initctl list | sort


无论如何,我似乎可以通过这个命令暂时停止这个“服务”:

service avahi-daemon stop
Run Code Online (Sandbox Code Playgroud)

或者确实是这个命令

/etc/init.d/avahi-daemon stop
Run Code Online (Sandbox Code Playgroud)

直接,这/usr/sbin/service似乎是在使用:

env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"
Run Code Online (Sandbox Code Playgroud)

当启动时,脚本提醒我我正在控制一个“Upstart”服务,我应该使用更简单的调用stop avahi-daemon。我想我需要了解 Upstart …

upstart services

42
推荐指数
4
解决办法
13万
查看次数

为什么我的 upstart 服务不在系统启动时启动?

this question之后,我为我的无头Ubuntu Server 11.04框编写了一个简单的新贵服务(/etc/init/pms.conf),如下所示:

start on filesystem and net-device-up IFACE=eth0
stop on runlevel [016]
respawn

exec /home/administrator/pms-current/PMS.sh
Run Code Online (Sandbox Code Playgroud)

我可以从命令行随意启动(或停止)这个服务:

service pms start
Run Code Online (Sandbox Code Playgroud)

我可以看到它确实在运行。

但是,当我第一次启动我的机器时,服务没有启动。如果我通过 SSH 进入该框并检查服务状态,我会得到:

$ service pms status
pms stop/waiting
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么会发生这种情况?为什么我的服务不在启动时启动?

更新 1:不确定我的服务是否正在启动并随后死亡或根本没有启动,我将以下内容添加到 PMS.sh:

echo "STARTED" > $STARTLOG
Run Code Online (Sandbox Code Playgroud)

这显然只是给了我一些寻找的东西。我通过自己启动服务然后检查start.log 来测试这个。然后我删除了start.log并重新启动。重新启动后它不在那里,所以似乎新贵肯定没有启动我的服务。我想它可能会在这个过程的早期死亡,但考虑到这一切的简单性,这似乎不太可能。

更新 2:我刚刚升级到 11.10,其中包括新贵升级,但这个问题仍然存在。

更新 3:根据要求,我已使用--debug. cat 的输出/var/log/syslog | grep init太长,无法放在问题中,但您可以在此处查看

更新 4:更多日志,这次 upstart conf 包含在顶部。运行 1 …

server boot upstart

37
推荐指数
2
解决办法
7万
查看次数

标签 统计

upstart ×10

services ×6

init ×2

init.d ×2

systemd ×2

boot ×1

debugging ×1

fail2ban ×1

server ×1