我有一个C套接字应用程序,其中不同的可执行文件必须同时运行,最好是在不同的终端。我该怎么做? 例如,有四个exes,。/ one,。/ tw,。/ three,。/ fou。
我希望它们可以在不同的Linux终端上运行,没有任何时间差异。我该怎么办?
答案 0 :(得分:1)
总会至少有一点“时差”。 让你的exe一致同意继续进行,直到那个时候才睡觉,然后再做他们需要做的事情。
答案 1 :(得分:0)
您永远不会同时运行多个流程。如果您只是为了测试目的而几乎同时启动它们,那么,最简单的方法是启动终端模拟器来运行您的每个可执行文件。如果您安装了xorg
,那么您可以打开xterm
并在那里运行:
xterm -e "./app1; /bin/bash" & xterm -e "app2; /bin/bash" & ...
调用/ bin / bash以防止在应用程序完成后关闭新的xterm
。
我不是bash
专家,所以这适用于我的机器,我不能确定这个字符串是否适用于较旧或较新的bash
或sh
pr与另一个终端模拟器。但你总能写出类似的东西。
答案 2 :(得分:0)
要同时运行,您可以执行以下操作:
"declare -a cmd=(./first ./second ./third); for i in ${cmd[@]}; do exec $i wait & done"
这可以帮助您自动完成任务。将命令保存在数组上,执行它们。它将在后台运行所有进程,并将开始尝试同时运行它们。