我使用fork()来执行另一个程序,例如“vim”或“man bash”。但是,那一刻我失去了控制,我无法用vim或滚动或相当的东西打印任何东西。
那么,我的问题是:如何让孩子完全接入终端(输入/输出)并在孩子死后将其取回给父母?
答案 0 :(得分:0)
那么,我的问题是:如何让孩子完全接入终端(输入/输出)并在孩子死后将其取回给父母?
waitpid()
和SIGCHLD
是了解子进程何时完成的机制。函数tcgetpgrp(fd)
和tcsetpgrp(fd,pgrp)
以及ctermid()
可用于将程序放置在终端的前景中。
否则,tcsetpgrp()
in 'C'中的信息可能具有指导意义。