2つのコマンドを同時に実行しますか?

2つのコマンドを同時に実行しますか?

これが私の問題の本質です。

私はRaspberry Piを使ってWikipediaサーバーを実行しているので、Wikipediaサーバーを起動してWebブラウザをlocalhost:8080で開くランチャー(デスクトップアイコン)を作成したいと思います。これを行うためにスクリプトを作成するたびに、最初に来るスクリプトのみが実行されます。たとえば、

./wikipedia_server; ./web_browser

セミコロンで区切ると、Wikipediaサーバープロセスが完了するのを待ってから(未完了)、Webブラウザを起動します。もし私がするなら

./web_browser; ./wikipedia_server

その後、Webブラウザが閉じるのを待ちます。

同時に実行できる小さなスクリプトを作成する方法はありますか?では、どうすればよいですか?ありがとうございます。

ベストアンサー1

Wikipediaサーバーをバックグラウンドで送信してWebブラウザを起動し、完了したらサーバーをシャットダウンできます。

./wikipedia_server &
server=$!
# wait for TCP port 8080 to open up
while ! netstat -tln | grep -q :8080; do :; done
./web_browser
kill $server

...ウィキペディアサーバーを閲覧しない限り、実行されたくないとします。

(コメントにOle Tangeのアイデアを追加するように更新されました。続行する前にWebサーバーのポートが開くまで待ってください)

おすすめ記事