我正在尝试使用C在Linux上实现一个应用程序,我要求我需要在我的孩子上分别进行I / O操作。父进程。这就是我要找的东西
理想情况下,我想如果每个子进程都在不同的终端上执行,那么对于与之交互的用户来说这是非常清楚的。
我在Executing child process in new terminal中看到了类似的问题,但答案对于所涉及的步骤并不十分清楚。它似乎表明可以通过像function onpropertychange() {
map.dispatchEvent('movestart');
var view = map.getView();
view.un('propertychange', onpropertychange);
map.on('moveend', function() {
view.on('propertychange', onpropertychange);
});
};
map.getView().on('propertychange', onpropertychange);
那样执行xterm来完成,但它没有得到确认。我还想在父< - >之间设置一些IPC。儿童和儿童孩子< - >子进程也是如此,所以如果我通过执行xterm启动子进程在新终端中,谁是我父进程的子进程?是xterm吗?如果是这样,我实际想要在我的子进程中执行的代码,它将作为xterm的子进程执行吗?
答案 0 :(得分:0)
假设您已经生成了三个子进程,并且您在tty1上运行了父进程。
因此每个子进程都会从其tty读取,就好像它是一个文件一样(注意:需要root权限)。要给孩子进程2提供输入,请转到tty5并输入以下命令:
cat - >/dev/tty3
然后输入程序的输入,然后按Ctrl-D。您的子进程2现在应该收到该输入。
编辑您不需要在不同的ttys上实际运行子进程。它只需要以root权限运行它们,然后从那些tty数字读取和写入,就像从stdin读取并写入stdout一样。对不起,感到困惑。