3

当我的程序到达这一行时:

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.

并终止。如您所见,我正在尝试创建一个 pty 来运行东西,但它不起作用。

另外,有没有办法forkpty()可以在类中调用?(我尝试了两种方法,但都没有奏效。)

我在 Ubuntu 9.10 上用 QT C++ 编程。

编辑:是最终对我有用的代码问题的链接。

4

1 回答 1

1

forkpty() 分叉你的进程。您需要先关闭文件描述符,尤其是在您的子进程中与 X 服务器的连接。这意味着您可能无法使用 forkpty ,但必须使用 openpty()、fork()、关闭子进程中的文件描述符、 logintty/()

于 2010-01-30T21:39:04.297 回答