• 9657阅读
  • 6回复

qt中使用fork()的问题 [复制链接]

上一主题 下一主题
离线rockeinstein
 
只看楼主 倒序阅读 楼主  发表于: 2010-02-19
— 本帖被 XChinux 执行加亮操作(2010-09-12) —
我想做这样一个东西,一个server,从界面得到数据后发送至client,然后再由client将数据计算后通过管道再发送至server,然后显示。
这期间要用到fork()和exec()两个函数使得server能够启动子进程client。
qt4中可以编译通过,但是运行时却报错:
X Error: BadIDChoice (invalid resource ID chosen for this connection) 14
  Major opcode: 1 (X_CreateWindow)
  Resource id:  0x4a00003
X Error: BadIDChoice (invalid resource ID chosen for this connection) 14
  Extension:    152 (RENDER)
  Minor opcode: 4 (RenderCreatePicture)
  Resource id:  0x4a00004
X Error: BadIDChoice (invalid resource ID chosen for this connection) 14
  Major opcode: 1 (X_CreateWindow)
  Resource id:  0x4a00005
<unknown>: Fatal IO error 11 (资源临时不可用) on X server :0.0.
<unknown>: Fatal IO error 4 (中断的系统调用) on X server :0.0.
我不太理解,我看了很多帖子,说it's not good to use fork in qt之类的,难道qt中不能使用fork()?为什么呢?或者qt有没有类似的函数可以实现我的要求?

谢谢各位高手了!
离线rockeinstein
只看该作者 1楼 发表于: 2010-02-19
求助啊!
离线seekawayout

只看该作者 2楼 发表于: 2010-02-20
service和client是同一个程序的两个进程,还是分开的程序。
如果是后者使用QProcess。
离线rockeinstein
只看该作者 3楼 发表于: 2010-02-20
不能使用fork和exec函数吗?
离线rockeinstein
只看该作者 4楼 发表于: 2010-02-20
哦,已经搞定了,用QProcess很简单,的确。
但是我还是希望能够自己实现,Qt的封装性太高了,我怕效率可能低
离线jicky
只看该作者 5楼 发表于: 2010-03-25
请问一下qt4怎样调用fork()函数,急用谢谢?
离线rockeinstein
只看该作者 6楼 发表于: 2010-08-10
回 5楼(jicky) 的帖子
Qt 里面好像不能调用fork,还是用人家封装好的吧QProcess。
快速回复
限100 字节
 
上一个 下一个