20

在带有 Arch Linux 的 Raspberry Pi 上,有一个名为serial-getty@AMA0.

单元文件为:/usr/lib/systemd/system/serial-getty@.service

作为根我可以调用

systemctl stop serial-getty@ttyAMA0
systemctl disable serial-getty@ttyAMA0

但重新启动后,该服务已启用并再次运行。

为什么禁用后启用服务?如何永久禁用它?

更新

systemd 在 /usr/lib/systemd/system-generators/ 使用生成器是一个名为 systemd-getty-generator 的二进制文件。此二进制文件在系统启动时运行,并将符号链接 serial-getty@ttyAMA0.service 添加到/run/systemd/generator/getty.target.wants.

我最终找到了一个肮脏的解决方案。我注释掉了 /usr/lib/systemd/system/serial-getty@.service 中的所有操作。该服务确实似乎启动了,但没有阻止 ttyAMA0。

4

2 回答 2

39

停止再次启用服务的正确方法是使用:

systemctl mask serial-getty@ttyAMA0.service

(在本例中以ttyAMA0为例)。这将为该服务的条目添加指向 null 的链接。

于 2014-03-12T14:37:17.557 回答
-4

试试这个代码:

system("systemctl stop serial-getty@ttyAMA0.service");
system("systemctl disable serial-getty@ttyAMA0.service");

我用它,效果很好。

于 2017-08-21T08:50:54.340 回答