Ott*_*ana 5 c linux terminal embedded-linux multiplexing
我正在开发一个嵌入式项目,我需要一个没有外部依赖项的程序,它可以像screen或tmux一样工作.这两个程序并不好,因为它们需要其他库.
因为我只需要分离一个程序,当我再次登录时能够注销并取回它,我想知道我是否可以为此编写一个小程序.
你知道我需要做哪些调用(在C中)来分离程序并将其恢复吗?
如果我正确理解您的要求,理论上您可以使用 termios struct 和 ioctl 来实现这一点。
ioctl(0, TIOCNOTTY, NULL);
Run Code Online (Sandbox Code Playgroud)
分离和
ioctl(0, TIOCSCTTY, 1);
Run Code Online (Sandbox Code Playgroud)
连接回终端。然而,它实际上并没有执行这项工作。
以下解决方案描述了一个不太好但很实用的解决方案
主要目的是将程序附加到另一个终端,但我相信这也是您实现目标的方式。
关于你提到的嵌入式平台,你也许可以从busybox找到一些帮助
它使用相当小的二进制文件为嵌入式 Linux 进行编译,并包含大多数常用的 Linux 实用程序,例如 getty、stty 等。