контроль + Z используется для приостановки процесса, отправив ему сигнал SIGSTOP
, который не может быть перехвачен программой. В то время как контроль + С используется, чтобы убить процесс с сигналом SIGINT
и может быть перехвачена программой, чтобы она могла очистить себя перед выходом или вообще не выходить.
Если вы приостановите процесс, он появится в оболочке и сообщит вам, что он был приостановлен:
[1]+ Stopped yes
Однако, если вы убьете его, вы не увидите никакого подтверждения, кроме как вернуться к приглашению оболочки. Когда вы приостанавливаете процесс, вы также можете делать с ним что-то необычное. Например, запустив это:
fg
С приостановленной программой вернет ее на передний план.
И работает команда
bg
Если программа приостановлена, она будет работать в фоновом режиме (однако выходная информация программы все равно будет передаваться в TTY).
Если вы хотите убить приостановленную программу, вам не нужно возвращать ее с fg
во-первых, вы можете просто выполнить команду:
kill %1
Если у вас есть несколько приостановленных команд, выполняется
jobs
перечислю их, вот так:
[1]- Stopped pianobar
[2]+ Stopped yes
С помощью %#
, где #
номер задания (тот, что в квадратных скобках от jobs
выход) с bg
, fg
, или же kill
, может быть использован для выполнения действий на этой работе.
stty
команда. Напримерstty susp ^Z
или жеstty intr ^C
,amarok
и бегиkillall amarok
или бегиps aux
и найдите идентификатор процесса рядом с именем исполняемого файла и запуститеkill {process id}
,Ctrl + Z приостанавливает процесс с помощью SIGTSTP, вы можете возобновить его позже. Ctrl + C убивает процесс с помощью SIGINT, который завершает процесс, если он не обработан / проигнорирован целью, поэтому вы не можете возобновить его. Также есть SIGSTOP, который может быть отправлен
kill()
и который процесс не может перехватить. SIGCONT является аналогом SIGSTOP и SIGTSTP, который приостанавливает процесс.источник
kill()
позволяет отправитьSIGSTOP
группе просто отлично.CTRL + Z останавливает (приостанавливает) работу
CTRL + C прекращает работу
с помощью CTRL + C вы не можете возобновить процесс, но с помощью CTRL + Z можно возобновить работу, просто введя в командной строке:
если у вас несколько процессов приостановлено, вы должны сделать
чтобы увидеть результат и выбрать соответствующий номер для возобновления, например,
возобновляет третью работу в списке. Вы также можете работать в фоновом режиме с
где n - номер работы.
источник
А также
Используя Ctrl + C, вы не можете возобновить процесс. где, используя Ctrl + Z, вы можете возобновить процесс.
используйте fg% 1 для возобновления процесса.
источник
CTRL + Z останавливает (делает паузу) работу
CTRL + С прекращает работу
С CTRL + С Вы не можете возобновить процесс, но с CTRL + Z задание можно возобновить, просто введя в командной строке:
Если у вас несколько процессов приостановлено, вы должны сделать
чтобы увидеть результат.
источник
Предыдущие ответы верны, но по какой-то неизвестной причине Ctrl-Z также приостанавливает все дочерние процессы, но killall -SIGSTOP ... только приостанавливает самый передний (родительский) процесс и оставляет дочерние программы для работы по своему усмотрению.
источник