programA.pyとprogramB.pyの2つのプログラムがあります。私はそれらを手動で実行すると、私は別の端末を開き、次のコマンドを入力する必要があります。bashスクリプトとは別のターミナルを必要とする2つのプログラムを起動するには?
terminal1
python programA.py
terminal2
python programB.py
これらのプログラムは、それぞれ、出力コマンドラインでいくつかのデータを。最後に、programA.pyを完全に開始してからprogramB.pyを開始する前に待機する必要があります(programA.pyが開始され、データを受け入れる準備ができてから2秒かかる)。
これらのプログラムをUbuntuで実行している場合、どのようにすればそれを実現するbashスクリプトを書くことができますか?
#!/bin/bash
python programA.py
python programB.py
これはprogramA.py開始しますが、programA.pyは、入力を待っているので、あなたがprogramA.pyのうち閉じるまで、programB.pyが起動しない:今、私は次のよう持っています。 2つのプログラムを同時に実行するようにスクリプトを変更するにはどうすればよいですか?
編集:
成功し、次の起動二つのプログラムにスクリプトを変更し、以下のアンドレアス・ノイマンによって与えられたアドバイスを使用した:しかし
#!/bin/bash
python programA.py &
sleep 5
python programB.py &
、両方のプログラムが起動されると、コードはdoesnの正しく動作しません。基本的には、programA.pyはリスニングソケットを設定してから、ユーザーが作業するインターフェースを作成します。その後、programB.pyが起動し、プロセスを実行し、ソケット上でprogramA.pyと通信します。上記のスクリプトを実行すると、programAが起動し、プログラムBが起動し、プログラムAとBが接続してインターフェイスを形成しますが、programBはバックグラウンドプロセスを正しく実行していません。
これは構文エラーです '予期しないトークンの近くの構文エラー '}' ' – user3830784
あなたは' bash'を使用していますか?セミコロンを入れましたか? –
'{...}'を '(...に置き換えることができます) ' –