4

私が書いているbashスクリプトでは、バックグラウンドでプロセスを開始(スリープ)してから中断しようとしています。最後に、プロセスは終了します。何らかの理由で、停止信号を含む kill コマンドを送信すると、何も受信していないかのように実行され続けます。これはコマンド ラインから実行できますが、bash スクリプトが意図したとおりに機能しません。

sleep 15&
pid=$!
kill -s STOP $pid
jobs
kill -s CONT $pid
4

1 に答える 1

3

スクリプトで「モニターモード」を有効にすることで機能させることができます:set -m

詳細については、why-cant-i-use-job-control-in-a-bash-scriptを参照してください。

于 2012-08-16T12:44:27.120 に答える