首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何释放Getty拥有的串行端口

如何释放Getty拥有的串行端口
EN

Unix & Linux用户
提问于 2015-06-10 04:53:52
回答 2查看 8K关注 0票数 2

我有成对的机器。它们通过一个空调制解调器串行电缆相互连接。这些机器有时会故障,而诊断它们的唯一方法就是通过电缆,使用这对机器的另一个节点。

这些设备配置为在串行设备/dev/ttyAMA0上运行。这是默认的,我希望尽可能接近默认配置。

问题是:

我似乎无法让Getty放弃对设备的控制,所以我可以使用像minicom这样的东西登录到另一个设备。不幸的是,简单地杀死getty是行不通的,因为某些东西似乎会立即重新启动它。

我怎样才能让getty停下来?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2015-06-10 05:20:45

(顺便说一句,我从未见过"GeTTY“的拼写。我认为这是不对的。

简单地说,您可以禁用getty,方法是在/etc/inittab中注释掉它并运行init q重新读取配置。除非您使用的是systemd或Upstart,但是由于您没有这么说,所以我假设您没有使用。

更长的答案是,您的设置有一个内在的问题,并有缺陷。在两个串行端口上运行getty时,这两个getty进程都有开始无休止地相互聊天的风险。也就是说,一个将发送一个提示,另一个将其解释为一个用户名,这将导致它产生自己的提示,这个提示将被解释为原始端的用户名,等等。

正确的处理方法是使用两个串行端口,每个方向一个。系统1上的控制台串口连接到系统2上的额外串口,系统2上的控制台串口连接到系统1上的额外串口,由于两个系统上的“额外”串口从来不运行getty (只有控制台串口才能运行),因此从来没有禁用getty,并且screencu等可以直接使用该端口。

对于“额外”的串行端口,如果系统没有提供足够的内置串行端口,则可以使用USB串口适配器。因为这些端口只有在系统完全启动后才会被访问(与控制台串行端口不同),所以它们在USB总线上是可以的,而USB总线在引导过程的一半时间内才会被初始化。

票数 1
EN

Unix & Linux用户

发布于 2016-09-23 13:43:53

你可以发出停车信号。它不会重新启动,直到r或另一个信号被发送。

代码语言:javascript
复制
sudo kill -19 <pidOfGetty>

您可以检查它当前是否在下列情况下停止:

代码语言:javascript
复制
ps a | grep getty

root       948  0.0  0.0   4656  2032 tty5     Ts+  Sep20   0:00 /sbin/getty -8 38400 tty5
root       958  0.0  0.0   4656  1880 tty2     Ss+  Sep20   0:00 /sbin/getty -8 38400 tty2

进程状态代码T意味着它被停止。就像tty5上的进程948一样。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/208627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档