在嵌入式设备的inittab中使用不同的控制台重新生成进程

时间:2014-11-07 09:23:21

标签: tty inittab

我在嵌入式设备上连接了串口,想在启动时启动自定义二进制文件,并能够看到生成的输出。

我的/ etc / inittab文件包含:

console::respawn:/sbin/getty -L 115200 ttyAPP3 vt100
console::respawn:/usr/bin/mybinary

通过这种配置,我可以在串口控制台中看到mybinary的输出,但由于产生的输出干扰,很难/不可能连接(插入登录名和密码)到getty。

我试图将inittab中的输出切换到另一个未使用的tty(tty10),如下所示:

console::respawn:/sbin/getty -L 115200 ttyAPP3 vt100
tty10::respawn:/usr/bin/mybinary

现在我可以连接,但是如何才能看到生成的输出到/ dev / tty10?

我试过cat /dev/tty10但没有显示任何内容。

1 个答案:

答案 0 :(得分:2)

我知道问题已经过时了,但是因为大声哭泣而没有任何答案。

请记住,TTY既是输出设备又是输入设备 - 通过它从中读取你正在从终端读取输入,这意味着键盘,而不是屏幕。< / p>

我不知道其他* nix中是否存在并行,但Linux系统有/ dev / vcsX和/ dev / vcsaX字符设备(分别为节点c,7,0 + X和c,7,128 + X)每个/ dev / ttyX设备 - 这些是当前在TTY设备的输出上的数据的镜像(即TTY的屏幕部分,而不是键盘部分)。这些将为您提供所需的信息。 vcsaX设备将为屏幕上的每个字符提供displaybyte + attributebyte对(即前景/背景文本颜色 - 有关文本属性字节的更多信息,请参阅其他参考),而vcsX设备仅为每个字符提供displaybyte 。当然它是一个原始流/转储,所以如果您的终端的行和/或列数与您正在转储的TTY的行数和/或列数不匹配,那么您将需要解析数据并重新格式化以匹配。

tl; dr:使用“cat / dev / vcs10”

希望有所帮助。