C 打开另一个终端窗口时创建两个进程?
这个话题听起来可能很奇怪,但我想实现以下目标:C 打开另一个终端窗口时创建两个进程?,c,terminal,multiprocessing,C,Terminal,Multiprocessing,这个话题听起来可能很奇怪,但我想实现以下目标: 在端子A中,键入以下命令行: ./create proA 创建第一个进程proA。它输出类似于 This is process A. 打开另一个终端窗口(称为终端B)。在端子B中,键入以下行: ./create proB 创建第二个流程proB。它输出: This is process B. 更新: 我试图创建两个相互通信的流程。在讨论更多细节之前,我只想尝试一下,当打开另一个终端窗口时,是否可以创建另一个与第一个进程有某种关系的进
./create proA
This is process A.
./create proB
This is process B.
有可能实现这样的目标吗?如果是这样的话,有人能给出一些关于如何从c开始的提示吗?谢谢 对于进程间通信而言,终端并不重要。流程之间的通信方式太多了,在这里强调其中任何一种都没有意义 关于每个进程都有自己的终端。嗯:
(xterm -e "${COMMANDLINE1}" &) ; (xterm -e "${COMMANDLINE2}" &)
如果只想查看错误,应使用:
./process > /dev/null 2>&1
如果您不理解2>&1,请阅读下面的内容)
可能的数字:
0 — STDIN, 1 — STDOUT and 2 — STDERR
这意味着,所有std错误都将在std out中打印。您描述的是一个打印“这是进程X”的程序,其中X取决于传递给程序的字符串。我不认为这是你想要做的,所以你必须更详细地解释这是什么。@simon我刚刚更新了更多细节。谢谢。您需要的是进程间通信。有许多API使流程能够相互通信(例如LCM,请参阅)。但是,我在这方面几乎没有任何经验,其他人可以给你一个更准确的答案。请解释这两个过程之间的关系类型。这种关系可以是兄弟姐妹或父子关系。如果你想看到output@HDDimon:对不起,我听不懂你的评论,如果希望在终端中查看进程的所有输出信息,此方法将适用于这种情况