応答しないスクリプトをどのように生成しますかCtrl-C
?これはまた、スクリプトによって開始されたすべてのプロセスが終了するのを防ぐ必要があります(私はapt-get upgrade
終了しないようにします)。
(インターネットを検索してみましたが、悪意のあるプロセスを終了する方法についての質問だけが見つかりました。)
コンテキスト:教育用VMクラスタ用のLinuxマスターVHDを作成しています。マシンが作成されたら、コンソールにrootとしてログインし、私のスクリプトを実行します。このスクリプトはマシンを更新し、新しいユーザーを作成し、SSHを有効にします。アップデートが完了する前に誰かがコンソールにログインしている場合は、そのユーザーがアップデートキャンセルプロセスを使用するのを(誤ってまたは意図的に)回避したいと思いますCtrl-C
。
ベストアンサー1
INT
無視する信号の設定:
trap '' INT
これにより、SIGINT(Ctrl-Cから送信されるシグナル)がスクリプトに対して何もしないようになります。
これによるユーザーエクスペリエンスの結果はよくわかりません。スクリプトが完了するのに長い時間がかかる作業にかかると、迷惑になることがあります。シグナルを無視する前にスクリプトを中断してはならず、簡単に中断できないことをユーザーに警告することをお勧めします。