ジョブを使用してスクリプトを生成してジョブを管理する方法

ジョブを使用してスクリプトを生成してジョブを管理する方法

1つある場合、run_scriptその内容は次のとおりです。

#run_script file
ls

その後、それを使用してコマンドをbash run_script実行できますls。しかし、もう一つができて、run_scriptその内容は次のとおりです。

#run_script file
python3 mate30pro5g.py & python3 Mathematica.py & python3 opencv.py &

jobsを実行した後、コマンドはバックグラウンドジョブを確認できないことを発見しましたbash run_script。しかし、すべてのタスクが実行されていることがわかりますps aux | grep python3。しかし、このコマンドを使用してすべてのタスクを管理したいのですが、jobsなぜこのコマンドでスキャンを見つけることができないのですか?私が逃したものは何ですか?

ベストアンサー1

を使用して新しいシェルを起動すると、ジョブ制御が失われますbash run_script。 Pythonプロセスは、新しく開始されたbashプロセスの子プロセスとして実行され、スクリプトが終了すると(現在は死んだ)親プロセスから切り離されます。現在のシェルのサブルーチンでプログラムを起動するには、次のようにスクリプトを取得できます。

. run_script

で違いを確認できますps auxf

おすすめ記事