サスペンド、レジューム、割り込み、バックグラウンドなどの基本的なジョブ制御が最新のシェルで実装されています。
Python でシェルを ^Z、fg、^C、および bg (bash に表示される) に対応させるにはどうすればよいですか? または、何を読むべきですか?
サスペンド、レジューム、割り込み、バックグラウンドなどの基本的なジョブ制御が最新のシェルで実装されています。
Python でシェルを ^Z、fg、^C、および bg (bash に表示される) に対応させるにはどうすればよいですか? または、何を読むべきですか?
何もする必要はありません:
python -c 'import time; time.sleep(600)'
すべてのキーボード コンボをテストできます ;)
signal
モジュールを使用して、プログラムに送信されたシグナルをキャプチャできます。たとえば、Unix のようなシステム^Z
を意味します。SIGTSTP
import signal
jobs = []
def handler(signum, frame):
jobs.append(frame)
signal.signal(signal.SIGTSTP, handler)
Ctrl+と入力Z handler
すると、「catch」が呼び出されて出力されます。^C
を使ってキャプチャできますsignal.SIGINT
。