0

クライアントとサーバーの両方を実行する bash スクリプトを作成しました。
コードは cpp で記述されており、クライアントサーバーは実行可能です。

$port=8008
$pack_rate=16     
echo "Starting server"
./server -p $port -n 512 -e 0.001
echo "Starting client"
./client -p $port -n 512 -l 16 -s localhost -r $pack_rate -d
echo "end"

上記の場合、クライアントはデータ パケットをサーバーに送信し、サーバーがそれを処理します。
したがって、クライアントとサーバーの両方を同時に実行する必要があります。
スクリプトファイルを実行しようとしましたが、予想通り

"Starting server"

印刷されています。したがって、サーバーは実行中であり、サーバーはクライアントから 512 パケットを受信するまで終了しません。ただし、クライアントプロセスは、サーバーが bash スクリプトで終了するまで開始できません。

それで、単一のbashスクリプトを使用して両方のプロセスを同時に実行できる方法はありますか?

4

2 に答える 2

1

& を追加する必要があります。

./server -p $port -n 512 -e 0.001 &

したがって、スクリプトはサーバー プログラムの終了を待たずに続行します。

于 2013-02-23T16:02:54.223 に答える
1

&行末を追加すると./server、プロセスがバッチ モードで実行され、スクリプトの残りの部分が実行され続けます。

于 2013-02-23T16:04:02.950 に答える