остановить python в терминале на mac

Используя python в терминале на Mac, введите

ctrl-z 

остановит python, но не выйдет из него, давая результат следующим образом:

 >>> [34]+ Stopped python 

Как вы можете видеть, я остановил 34 вызова python.

Хотя я мог бы использовать

 >>> exit() 

для выхода из python вопросы:

  1. Есть ли короткий ключ, чтобы действительно выйти (не просто остановить) python в терминале? и почему

    Ctrl-C

    не работает?

  2. Как убить всех остановленных python?

Кстати, как я мог набирать «ctrl-c» и другие горячие клавиши с клавиатурой?

Благодаря!

2 Solutions collect form web for “остановить python в терминале на mac”

CTRL + d -> Определяет EOF (конец файла).

CTRL + c -> Прервет большинство заданий.

Если, однако, вы написали программу-оболочку python, которая в свою очередь вызывает другие программы python, Ctrl-c остановит только текущее задание. Программа-обертка будет работать. В худшем случае вы можете сделать это:

Откройте: Приложения -> Утилиты -> Монитор активности, найдите процесс, обозначенный как python, выделите его в мониторе активности и нажмите «Завершить процесс».

Эти три предложения должны работать в большинстве ситуаций, когда вы хотите остановить программу.

Это не проблема Python, как таковая. Это поведение оболочки Unix и отличается от Windows и других систем. См. Статью в Википедии о CTRL-Z для более полного объяснения:

В Unix-подобных системах Control + Z является наиболее распространенным по умолчанию клавиатурным отображением для последовательности клавиш, которая приостанавливает процесс (SIGTSTP). При вводе пользователем на своем компьютерном терминале в текущий выполняемый процесс переднего плана отправляется сигнал SIGTSTP, что обычно приводит к приостановке процесса. Затем пользователь может продолжить выполнение процесса, набрав команду «fg» (сокращение от переднего плана) или набрав «bg» (сокращение от фона) и, кроме того, набрав команду «disown», чтобы отделить фоновый процесс от терминала.

В OS X, как и в других системах на базе Unix, вы можете использовать команду stty чтобы изменить, какой ключ, если таковой имеется, создает SIGTSTP (или eof , если на то пошло):

 $ stty -a speed 38400 baud; 30 rows; 90 columns; lflags: icanon isig iexten echo echoe echok echoke -echonl echoctl -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo -extproc iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8 -ignbrk brkint -inpck -ignpar -parmrk oflags: opost onlcr -oxtabs -onocr -onlret cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow -dtrflow -mdmbuf cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>; eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W; $ stty susp ^Y $ cat ^Y [1]+ Stopped cat 
  • Проблемы с Django и mysql на Mavericks
  • Ограничение размера файла для read ()?
  • Установка matplotlib на Mac OS X 10.9
  • Ошибка сегментации и сбой при попытке импортировать opencv
  • Почему Python строит внезапно, не строит Framework при использовании virtualenv?
  • Mac OS X: _tkinter.TclError: нет отображаемого имени и нет переменной окружения $ DISPLAY
  • ошибка python / pip в osx
  • Назначить действие переменной в Automator для использования в Shell Script
  • Python - лучший язык программирования в мире.