无法在 15.04 中使用“开始”命令

Tom*_*953 6 command-line services

我曾经能够使用sudo start或在终端中启动和停止进程sudo stop

示例:sudo start ttyS0 这将启动 getty,以便我可以从串行终端登录。它在 Ubuntu 15.04 中不起作用。在 15.04 中是否有启动和停止进程的替代方法?

Jde*_*eBP 6

服务管理系统发生了变化。

每个系统管理工具集都有自己的实用程序。你习惯使用的实用程序来与暴发户的那些,这是微不足道的垫片initctl startinitctl stop。但这是 Ubuntu 15 版。 您不再使用 upstart。

您正在使用 systemd,并且服务控制命令是 ofsystemctl而不是 of 的子命令initctl。因此,服务的启动systemctl start、停止systemctl stop、启用systemctl enable、禁用systemctl disable和查询systemctl status

服务和服务配置已更改。

您可能已经按照串行控制台操作方法之类的说明将提供/etc/init/tty1.conf/etc/init/ttyS0.conf. 这是一个新贵的配置文件,它会被 systemd 忽略。您从那里学到的一切都不适用于 systemd,甚至不适用于在 systemd 世界中“过时”的运行级别的概念。

getty真实终端设备上 a的 systemd 配置文件是/lib/systemd/system/serial-getty@.service. 这是一个模板单元,参数化在串行设备文件的名称上。所以要使用的实际服务名称将是serial-getty@ttyS0.service. 您只需像任何其他服务一样启用/禁用/启动/停止它。

如果您想要一个实际的串行控制台,而不仅仅是一个普通的串行终端,那么您甚至不需要这样做。systemd 有一种机制,serial-getty@.service当内核被告知在虚拟终端上没有它的控制台时,它会自动实例化。

进一步阅读