Control+Z используется для приостановки процесса, посылая ему сигнал SIGSTOP
, который не может быть перехвачен программой. Хотя Control+C используется для прекращения процесса с помощью сигнала SIGINT
, и может быть перехвачен программой, чтобы он мог очистить себя перед выходом или вообще не выходить.
Если вы приостановите процесс, он появится в оболочке и сообщит вам, что он был приостановлен:
[1]+ Stopped yes
Однако, если вы убьете его, вы не увидите никакого подтверждения, кроме как вернуться к приглашению оболочки. Когда вы приостанавливаете процесс, вы также можете делать с ним причудливые вещи. Например, запустив это:
fg
С приостановленной программой вернет ее на передний план.
И работает команда
bg
Если программа приостановлена, она будет работать в фоновом режиме (однако выходная информация программы все равно будет передаваться в TTY).
Если вы хотите убить приостановленную программу, вам не нужно сначала возвращать ее с помощью fg
, вы можете просто выполнить команду:
kill %1
Если у вас есть несколько приостановленных команд, выполняется
jobs
перечислю их, вот так:
[1]- Stopped pianobar
[2]+ Stopped yes
Использование %#
, где #
- это номер задания (номер в квадратных скобках из вывода jobs
) с bg
, fg
или kill
, может использоваться для выполнения действия над этим заданием.