在命令行中,如何停止我的 Ubuntu(在这种特殊情况下是服务器)的所有服务(SSH 除外)?
我如何列出所有服务以确保所有服务都已停止?
答案1
我非常怀疑在禁用除 sshd 之外的所有服务后,您的系统是否仍处于可用状态。要获取 upstart 服务的状态列表,请执行以下操作:
sudo service --status-all
对于 System V 服务:
sudo initctl list
使用适当的命令禁用任何带有 + 或列为启动/运行的程序。显而易见的是:如果您通过 ssh 执行此操作,“service network stop”或类似命令对您没有任何好处。
答案2
您正在寻找的是单用户模式。这是机器运行所需的基本服务正在运行的状态。您可以通过使用为内核提供的“s”参数启动来进入该模式,也可以使用切换到该模式init s
。 sshd
但通常不被视为基本服务,因此它将被停止。要解决此问题,您需要编辑 /etc/init/ssh.conf 并将“S”添加到应在其中启动且不应在其中停止的运行级别列表中,因此它看起来像这样:
start on runlevel [S12345]
stop on runlevel [!S12345]