web-dev-qa-db-ja.com

スクリプトの実行中にctrl cとctrl zを無効にする

実行に約45秒かかるスクリプトがあります。どうすれば無効にできますか Ctrl-c そして Ctrl-z スクリプトの実行中に?

6
tester787

無効にすることもできますが Ctrl-c そして Ctrl-z これらの端末設定を無効にするか、端末をrawまたは他のソリューションに設定することで、通常は有効にしたままにして、結果として得られるsignalsに反応させる方がはるかによいでしょう。シグナルのハンドラーをインストールして、ハンドラーが何もしないようにすることができます。

ハンドラーをインストールする方法は、使用しているプログラミング言語によって異なります。あなたはあなたが何を使っているか言っていませんが、ここにいくつかの例があります:

シェル:

#!/bin/sh

trap '' INT TSTP

Python:

#!/usr/bin/python

import signal

signal.signal(signal.SIGINT, signal.SIG_IGN)
signal.signal(signal.SIGTSTP, signal.SIG_IGN)
9
Celada