ОБНОВЛЯТЬ:

ОБНОВЛЯТЬ:

Иногда со мной случается, что я случайно нажимаю CTRL+ и мое приложение исчезает в фоновом режиме. Я знаю, что могу вернуть его обратно с помощью , так что это не такая уж большая проблема. Но я все равно думаю об отключении этого. За всю свою жизнь я не могу вспомнить ни одного случая, когда оно мне было нужно, оно просто выглядит для меня как пережиток прошлого.Zfgjob control

Можно ли отключить это job controlполностью? Или я что-то упускаю, и эта функция может быть полезна? Как бы я отключил ее в моем.bashrc

ОБНОВЛЯТЬ:

Я попробовал set +m, как предложил @Falsenames. Однако это работает только когда я ввожу это в терминал. Добавление set +mв мой .bashrcне дает никакого эффекта.

решение1

Чтобы прекратить использование режима мониторинга, вы можете добавить в командную строку следующее.

набор +м

Если позже вам действительно понадобится функциональность ctrl-z, вы можете просто ввести «set -m», чтобы включить мониторинг для этого сеанса.

Отчеловек баш. Обратите внимание, что это для «-m», а «+m» отключает эту настройку.

set [+abefhkmnptuvxBCEHPT] [+o option] [arg ...] 
....
-m
    Monitor mode. Job control is enabled. This option is on by default for interactive
    shells on systems that support it (see JOB CONTROL above). Background processes 
    run in a separate process group and a line containing their exit status is printed
    upon their completion. 

В качестве последней отчаянной попытки вы можете вручную скомпилировать версию bash без флага "--enable-job-control". Вот быстрый способруководство по установкеиз GNU. Если вы решили пойти по этому пути, НЕ заменяйте /bin/bash на всякий случай, если фоновые процессы будут работать через bash expect job control. Вместо этого создайте /bin/bash.alt или другой файл. Вашу оболочку по умолчанию можно изменить на эту альтернативную, запустив usermod или отредактировав /etc/passwd от имени root.

решение2

stty susp undefотключит сигнал приостановки, инициируемый клавиатурой, для большинства программ, однако команды, такие как vim и emacs, которые имеют определенные привязки, Ctrl-Zдолжны быть перенастроены индивидуально. В emacs вы можете запустить (global-unset-key "\C-z").

Вы можете добавить эту команду stty в свой ~/.bash_profileили ~/.profileвыйти из системы, а затем войти снова.

решение3

Или я что-то упускаю, и эта функция может быть полезна?

Чтобы ответить на эту часть вопроса: Cz / fgcombo имеет важное значение для моего рабочего процесса vim. Например, я предпочитаю Cz > git commit> fgиспользованию git-оберток из vim.

Cz помогает рассматривать оболочку как IDE, соответствующую "сделай одну вещь" принцип. (Это вместо "редактор как IDE").

решение4

Добавьте trap "" SIGTSTPсвой скрипт. Он перехватит сигнал и проигнорирует его.

#!/bin/bash
trap "" SIGTSTP
watch date

Связанный контент