Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 打开另一个终端窗口时创建两个进程?_C_Terminal_Multiprocessing - Fatal编程技术网

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. 更新: 我试图创建两个相互通信的流程。在讨论更多细节之前,我只想尝试一下,当打开另一个终端窗口时,是否可以创建另一个与第一个进程有某种关系的进

这个话题听起来可能很奇怪,但我想实现以下目标:

  • 在端子A中,键入以下命令行:

    ./create proA
    
  • 创建第一个进程proA。它输出类似于

    This is process A.
    
  • 打开另一个终端窗口(称为终端B)。在端子B中,键入以下行:

    ./create proB
    
  • 创建第二个流程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:对不起,我听不懂你的评论,如果希望在终端中查看进程的所有输出信息,此方法将适用于这种情况