Как Ctrl-Z в скрипте Perl - PullRequest
       32

Как Ctrl-Z в скрипте Perl

0 голосов
/ 03 августа 2010

Я пишу скрипт на Perl, и мне нужно выполнить Unix Ctrl + Z для скрипта. Как я могу сделать это в Perl?

спасибо.

Ответы [ 2 ]

5 голосов
/ 03 августа 2010

Из perl вы можете отправлять сигналы процессам с функцией kill, которая имеет то же имя, что и инструмент командной строки Unix, который делает то же самое.Эквивалентно Ctrl + Z работает

kill -SIGTSTP pid

вам нужно узнать, какое числовое значениеваш сигнал TSTP есть в вашей системе.Это можно сделать, запустив в командной строке

kill -l TSTP

.Допустим, это возвращает 20

Затем в вашем скрипте Perl вы добавите

kill 20 => $$;

, который отправит сигнал TSTPк текущему ID процесса ($$)

Обновление: , как описано в daxim, вы можете пропустить часть 'kill -l' и напрямую указать имя сигнала:

kill 'TSTP' => $$;
0 голосов
/ 03 августа 2010

В bash ctrl + z останавливает текущее задание и переводит его в фоновый режим с помощью% JobId, который вы можете вернуться к этому заданию.Я не уверен, что вы имеете в виду, так как я думал, что ctrl + z пойман bash ..

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