Unix init如何配置stdin和stdout?

时间:2013-11-18 23:43:25

标签: unix kernel

我正在尝试更多地了解Unix内核是如何工作的,我正在尝试剖析Unix中的/ bin / init,将终端/ dev / tty0配置为stdin和stdout。

是否像

一样简单
int fd = open("/dev/tty0", O_RDWR);

或者还有更多的东西吗?

由于

1 个答案:

答案 0 :(得分:-1)

我不确定init是否已附加到终端。我认为您对流程组管理感兴趣,但我可能错了(我提前道歉)。

壳通常是(附加的),是的还有更多的事情要做得正确,主要的做法是以某种方式将进程绑定到终端,以便正确处理某些事件(信号处理,会话终止,等等)。要正确管理与同一终端相关的流程,您需要考虑:流程组和会话。我建议您阅读http://en.wikipedia.org/wiki/Process_groupsetpgrp / setsid手册。

另请参阅https://unix.stackexchange.com/questions/58186/concept-of-controlling-terminal-in-unix