Запретить Ctrl-C Perl - PullRequest
       0

Запретить Ctrl-C Perl

2 голосов
/ 19 февраля 2012

Есть ли способ запретить команду Ctrl C , чтобы остановить выполнение сценария на Perl.

Мне известно о $ SIG {'INT'}, но я хотел бы знать, что если нажать Ctrl C , скрипт НЕ остановится, что бы .

На данный момент у меня есть:

$SIG{'INT'};
## for loop here

Но как только цикл for закончится, если нажата Ctrl C , сценарий остановится.

Ответы [ 2 ]

9 голосов
/ 19 февраля 2012

Игнорировать полностью прерывает:

$SIG{'INT'} = 'IGNORE'; 

В качестве альтернативы, сопоставьте прерывание с другим символом - DEL может быть; затем Control-C больше не генерирует прерывание (или любой другой сигнал) и является «нормальным» управляющим символом.

1 голос
/ 19 февраля 2012

Поймай SIGINT и просто проигнорируй это.Разве это не сработает?Что в этом плохого?Я не совсем понял ваш смысл, сказав, что вы знаете о том, что такое $SIG{'INT'}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...