5

我正在开发一个嵌入式项目,我需要一个没有外部依赖项的程序,如 screen 或 tmux。这两个程序不好,因为它们需要其他库。

由于我只需要分离一个程序,能够在我再次登录时注销并恢复它,我想知道我是否可以为此编写一个小程序。

您知道我需要执行哪些调用(在 C 中)来分离程序并将其恢复吗?

4

1 回答 1

4

如果我正确理解您的要求,理论上您可以使用 termios struct 和 ioctl 来实现这一点。

ioctl(0, TIOCNOTTY, NULL);

分离和

ioctl(0, TIOCSCTTY, 1);

连接回终端。但是,它实际上并没有执行这项工作。

以下解决方案描述了一个不太好的但实用的解决方法

tty破乳

主要目的是将程序附加到另一个终端,但我相信这也是您实现目标的方式。

关于您提到的嵌入式平台,您也许可以从busybox中找到一些帮助

它使用非常小的二进制文件为嵌入式 linux 编译,并包含大多数常用的 linux 实用程序,例如 getty、stty 等。

于 2012-10-30T12:16:22.230 回答