当我的程序到达这一行时:
pid_t nPid = forkpty( &m_nMasterFD, NULL, NULL, NULL );
输出此:
X Error: BadIDChoice (invalid resource ID chosen for this connection) 14
Extension: 148 (RENDER)
Minor opcode: 17 (RenderCreateGlyphSet)
Resource id: 0x3600002
<unknown>: Fatal IO error 4 (Interrupted system call) on X server :0.0.
并终止。如您所见,我正在尝试添加一些东西,但无法正常工作。
另外,是否可以在类中调用
forkpty()
? (我尝试了两种方式,但均无济于事。)我正在Ubuntu 9.10上使用QT C++进行编程。
编辑:Here's到最终对我有用的代码的问题链接。
最佳答案
forkpty()派生您的进程。您需要首先关闭文件描述符,尤其是在子进程中与X服务器的连接。这意味着您可能无法使用forkpty,而必须在子进程logintty/()中使用openpty(),fork(),close filedescriptors