0

我有一个 C 套接字应用程序,其不同的可执行文件必须同时运行,最好是在不同的终端中。我该怎么做?例如,有四个 exe,./one、./two、./three、./four。

我希望它们在不同的 linux 终端上运行,没有丝毫的时差。我该怎么做?

4

3 回答 3

1

总会有至少“最细微的时差”。只要让你的前任同意一个时间继续进行,然后在做他们需要做的任何事情之前睡到那个时间。

于 2013-05-14T12:37:20.623 回答
0

您永远不会同时运行多个进程。如果您需要几乎同时启动它们以进行测试,那么最简单的方法可能是启动终端模拟器来运行您的每个可执行文件。如果你已经xorg安装了,那么你可以打开xterm并运行这样的东西:

xterm -e "./app1; /bin/bash" & xterm -e "app2; /bin/bash" & ...

调用 /bin/bash 以防止xterm在您的应用程序完成后关闭 new s。

我不是bash专家,所以这适用于我的机器,我不能确定这个字符串是否能与旧的或新的bashshpr 与另一个终端仿真器一起工作。但是你总是可以写一些类似的东西。

于 2013-05-14T13:05:53.823 回答
0

要同时运行,您可以执行以下操作:

     "declare -a cmd=(./first ./second ./third); for i in ${cmd[@]}; do exec $i wait & done"

这可以帮助您自动化您的任务。将您的命令保存在阵列上,执行它们。它将在后台运行所有进程,并开始尝试同时运行它们。

于 2013-05-14T15:53:54.833 回答