我有一个剧本/etc/init/ttyS0.conf
。我正在配置 KVM 客户机以进行串行控制台访问所以即使网络接口坏了,我仍然可以通过串行连接访问它。
我可以ttyS0
通过运行来启动它sudo start ttyS0
,它工作正常,直到我重新启动。重新启动系统后,它ttyS0
不再运行。
如何让这个脚本在启动时自动调整?
谢谢
我的脚本如下:
# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 115200 ttyS0 xterm
答案1
从这里
respawn
console none
start on (local-filesystems)
stop on [!12345]
script
exec start ttyS0
end script
我认为应该可以工作。否则,用启动你想要启动的脚本替换启动 tty0
答案2
答案3
Ubuntu 使用基于运行级别的 SYSV 启动(与 Debian 相同)。
您必须将脚本添加到您当前使用的运行级别。对于 Ubuntu,在里面默认情况下,进程数为 2。因此,您必须将 ttyS0.conf 添加到 rC2.d 目录并声明您想要启动它(而不是停止)。您可以通过向脚本添加软链接来实现这一点,如下所示:
ln -s /etc/init/ttyS0.conf /etc/rc2.d/S99ttyS0.conf
S99 前缀表示“S”->启动脚本,以及“99”脚本启动的顺序(如果在此脚本之后需要运行其他脚本,则降低这个数字)。
然后您需要在重新启动(运行级别 6)或关闭(运行级别 0)时停止它:
ln -s /etc/init/ttyS0.conf /etc/rc0.d/S99ttyS0.conf
ln -s /etc/init/ttyS0.conf /etc/rc6.d/S99ttyS0.conf
前缀类似,除了“S”->停止脚本(仅适用于运行级别 0 和 6)。
希望这能有所帮助。更多信息这里