Мое смутное и интуитивное понимание состоит в том, что Ctrl+C убивает процесс, который в данный момент выполняется в выбранном окне.
Я, однако, запутываюсь из-за разницы в том, какой процесс уничтожается при вызове исполняемого файла и когда используется интерпретатор.
переводчик
Когда я использую переводчика. Например, если я открываю R на терминале, я вижу один процесс, который CMD (по вызову ps) является R Однако когда я использую Ctrl+C , процесс R не уничтожается, а процесс, выполняющийся в R уничтожается.
исполнимый
Когда я вызываю exectuable, я вижу один процесс, который CMD (по вызову ps) является <nameOfExecutable> . Когда я делаю Ctrl+C, этот процесс прекращается.
Вопрос
Кажется, что существует какая-то иерархия процессов (и может быть правильная семантика, чтобы ссылаться на нее). Что именно делает Ctrl+C в свете этой кажущейся иерархии процессов?
Для вашей информации я использую Терминал 2.6.1 в Mac OS X 10.11.3
