如何重置/dev/ttyS0

hyp*_*not 6 linux serial gnu-screen

我正在尝试使用串行接口(运行 Scientific Linux 6.1)连接到 Khepera 机器人,我使用该命令screen /dev/ttyS0进行通信,这工作正常,但后来我想关闭它并使用 MATLAB,但我发现无法关闭该会话,所以我只是在终端窗口运行屏幕上点击了 X。

现在我的 ttyS0 端口无法打开。MATLAB 和 screen 都说它无法打开该端口。

如何重置 ttyS0 端口?我的意思是一种选择是重新启动计算机。但是如何在不重新启动的情况下做到这一点?

终止串行通信的正确方法是什么?

另外,下面的命令有什么作用?我用谷歌找到它并运行它,但什么也没发生。它对我需要修复的事情做了什么坏事吗?

/sbin/agetty -L -f /etc/issueserial 9600 ttyS0 vt100
Run Code Online (Sandbox Code Playgroud)

Dan*_*ruz 5

您可以发出命令screen -ls以获取所有当前屏幕会话的状态。然后使用screen -r“重新附加”到断开连接的screen会话的-X选项和终止 会话的选项。

这是一个示例 shell 会话。我正在使用-d -m选项以screen“分离”模式(在后台)启动 会话来模拟使用X on the terminal window running screen. 在5207screen-ls输出是进程ID数目,这将被用于‘重新附连’到该特定screen会话。

$ screen -d -m /dev/ttyS0
$ screen -ls
There is a screen on:
    5207..host  (10/04/2011 10:16:50 AM)    (Detached)
1 Socket in /var/run/screen/S-user.

$ screen -r 5207 -X kill
$ screen -ls 
No Sockets found in /var/run/screen/S-user.

$ 
Run Code Online (Sandbox Code Playgroud)