Может ли кто-нибудь сказать мне разницу между ctrl + z и ctrl + c?
Когда я нахожусь в терминале, обе комбинации останавливают текущий процесс, но какая именно разница между ними? [ ! d5]
Control + Z приостанавливает процесс (SIGTSTP), а Control + C прерывает процесс (SIGINT)
http://en.wikipedia.org/wiki/Control-Z
В Unix-подобных системах Control + Z является наиболее распространенным по умолчанию клавиатурным отображением для последовательности клавиш, которая приостанавливает процессhttp://en.wikipedia.org/wiki / Control-Z
В Unix-подобных системах Control + Z является наиболее распространенным сопоставлением клавиатуры по умолчанию для последовательности клавиш, которая приостанавливает процесс
Ctrl + C используется для уничтожения процесса с сигналом SIGINT, другими словами, это вежливое убийство.
Ctrl + Z используется для приостановки процесса отправив ему сигнал kill , который подобен сигналу сна, который можно отменить, и процесс может быть возобновлен снова.
Однако, когда процесс приостанавливается, мы можем возобновить это снова fg (resume in forground) и bg (resume in background), но я не могу возобновить убитый процесс, то есть разницу между использованием Z + C & amp; Ctrl + Z.
Как просмотреть приостановленный процесс?
С помощью команды jobs вывод будет:
[1]- Stopped cat
[2]+ Stopped vi
Как просмотреть [ ! d14] приостановленный процесс в фоновом режиме?
Используя команду kill:
kill% n, где n будут отображаться в команде заданий, поэтому я хочу убить cat: kill %1.
Это должно помочь
Ctrl + Z используется для приостановки процесса, отправив ему сигнал SIGSTOP, который не может быть перехвачен программой. В то время как Ctrl + C используется для уничтожения процесса с помощью сигнала SIGINT и может быть перехвачен программой, чтобы он мог очистить себя до выхода или вообще не выйти., когда вы нажимаете ctrl + c, это означает, что вы отправляете SIGINT в свой процесс. как вы набираете эту команду: kill -SIGINT <your_pid>. Это убьет вас. Вот почему вы не можете увидеть это при вызове команды ps. Когда вы нажимаете ctrl + z, это означает, что вы отправляете SIGSTOP в свой процесс. как вы набираете эту команду: kill -SIGKSTOP <your_pid>. Это остановит ваш процесс, но процесс все еще жив. Таким образом, вы можете повторно активировать свой процесс, отправив SIGCONT в ваш процесс.
Проще говоря:
CTRL-C просит, чтобы программа прерывалась. CTRL-Z заставляет программу приостанавливаться и уходить в фоновый режим. Это позволит вам возобновить его позже с помощью команды fg. Оставшиеся фоновые задачи будут убиты при выходе из оболочки входа.