Иногда случается, что я нажимаю CTRL+ Zслучайно, и мое приложение исчезает в фоновом режиме. Я знаю, я могу принести это обратно fg
, так что это не так уж важно. Но мне все job control
равно интересно отключить это . За всю свою жизнь я не могу вспомнить ни одного случая, когда мне это было нужно, он просто выглядит для меня как пережиток прошлого.
Это нормально, чтобы отключить job control
полностью? Или я что-то упустил, и эта функция может быть полезна? Как бы я отключить его в моем.bashrc
ОБНОВИТЬ:
Я попытался, set +m
как предложено @Falsenames. Однако это работает только тогда, когда я набираю его в терминале. Добавление set +m
в мой не .bashrc
имеет никакого эффекта.
bash
bashrc
job-control
Мартин Вегтер
источник
источник
$-
(список активных опций) больше не содержится,m
когда вы размещаетеset +m
в нем подсказку,~/.bashrc
говорит о том, что Bash пытается отключить управление заданиями, но, в конце концов, не делает этого из-за ошибки - может быть, стоит сообщить через bug-bash@gnu.orgОтветы:
Вы можете добавить следующее в вашу командную строку, чтобы прекратить использовать режим мониторинга.
установить + м
Если вам действительно понадобится функциональность ctrl-z позже, вы можете просто набрать 'set -m', чтобы включить мониторинг для этого сеанса.
От человека Баш . Обратите внимание, что это для '-m', когда "+ m" отключает эту настройку.
В качестве последней попытки, вы можете вручную скомпилировать версию bash без флага «--enable-job-control». Вот краткое руководство по установке из GNU. Если вы решите пойти по этому пути, НЕ заменяйте / bin / bash на тот случай, если фоновые процессы проходят через bash и ожидают управления заданиями. Вместо этого создайте /bin/bash.alt или другой файл. Оболочку по умолчанию можно изменить на эту альтернативную, запустив usermod или отредактировав / etc / passwd от имени пользователя root.
источник
set +m
работает в терминале, но когда я добавляю его в свой.bashrc
, это никак не влияет..bashrc
.stty susp undef
Отключит инициируемый клавиатурой сигнал приостановки для большинства программ, однако команды, подобныеvim
иemacs
имеющие специфические привязки Ctrl-Z, должны быть перенастроены индивидуально.Вы можете добавить эту команду в ваш
~/.bash_profile
или~/.profile
, выйдите из системы, войдите снова.источник
mc
этого не работает. Что в основном подтверждает то, что вы сказали. Разве нет универсального решения, которое работает для всех?set +m
работаетmc
, но только если я наберу его в терминале, а не в.bashrc
или.profile
.Чтобы ответить на эту часть вопроса: Cz /
fg
combo необходим для моего рабочего процесса vim. Например, я предпочитаю Cz>git commit
>fg
с помощью GIT оберток внутри Vim.Cz помогает рассматривать оболочку как IDE, соответствующую принципу « сделай одно ». (Это вместо "редактор как IDE").
источник
^Z
абсолютно все еще полезно - но это было еще более полезно, когда терминал был не окном, а коробкой перед вами. И у тебя был только один.Добавьте
trap "" SIGTSTP
в свой скрипт. Он поймает сигнал и проигнорирует его.источник