在安装了Arch Linux的树莓派上,有一个名为
```bash systemctl start serial-getty@AMA0.service ```
serial-getty@AMA0
的服务正在运行。
该单元文件位于:/usr/lib/systemd/system/serial-getty@.service
作为root用户,我可以执行以下命令:
```bash systemctl start serial-getty@AMA0.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。
/usr/lib/systemd/system/serial-getty@.service
的位置。 - Sergey Kanaev