Если я запустил скрипт ruby из терминала и запустил какой-то другой процесс с использованием system
, и нажмите Ctrl + C, чтобы INT передал другой процесс, как я могу заставить рубиновый процесс обрабатывать его и другой процесс не получить его вообще?Запуск сигналов блокировки процесса с терминала
Пример:
trap('INT'){ puts 'Wait a bit' }
system 'sleep 100'
Если я нажимаю Ctrl + C этот скрипт немедленно закроется, и ничего не будет печатать: INT будет отправлен только спать, поэтому он будет выйти и сценарий будет завершен.
Я добавил пример – tig