私はCソケットアプリケーションを持っています。その異なる実行可能ファイルは、できれば異なる端末で同時に実行する必要があります。どうすればいいのですか?たとえば、./one、./two、./three、./four の 4 つの exe があります。
わずかな時間差もなしに、異なる Linux 端末でそれらを実行したいと考えています。どうすればいいですか?
私はCソケットアプリケーションを持っています。その異なる実行可能ファイルは、できれば異なる端末で同時に実行する必要があります。どうすればいいのですか?たとえば、./one、./two、./three、./four の 4 つの exe があります。
わずかな時間差もなしに、異なる Linux 端末でそれらを実行したいと考えています。どうすればいいですか?
少なくとも「わずかな時差」は常に存在します。実行する時間に同意してもらい、その時間までスリープしてから、実行する必要があることを実行してください。
同時に実行するには、次のようにします。
"declare -a cmd=(./first ./second ./third); for i in ${cmd[@]}; do exec $i wait & done"
これは、タスクを自動化するのに役立ちます。コマンドをアレイに保持し、それらを実行します。バックグラウンドですべてのプロセスを実行し、それらを同時に実行しようとします。
同時に複数のプロセスを実行することはありません。テスト目的でそれらをほぼ同時に起動する必要がある場合、おそらく最も簡単な方法は、ターミナル エミュレーターを起動して、それぞれの実行可能ファイルを実行することです。xorg
インストールしている場合は、次xterm
のように開いて実行できます。
xterm -e "./app1; /bin/bash" & xterm -e "app2; /bin/bash" & ...
/bin/bash が呼び出されxterm
、アプリケーションの終了後に new が閉じられないようにします。
私はbash
専門家ではないので、これは私のマシンで機能しますが、この文字列が古いものや新しいbash
もの、またはsh
別の端末エミュレーターで正しく機能するかどうかはわかりません。しかし、いつでも似たようなものを書くことができます。