Поскольку уведомления о заданиях привязаны к интерактивному режиму, а не к режиму мониторинга. Описание того, что делает set -m
, вводит в заблуждение. Он имеет ряд эффектов, таких как принудительное выполнение конвейеров в своей собственной группе процессов, и вызывает срабатывание прерываний в CHLD для каждого фонового процесса. Это на самом деле ничего не делает, чтобы повлиять на то, работает ли "контроль работы". Вы по-прежнему можете использовать все команды, связанные с заданиями, и обращаться к заданиям с использованием спецификаций заданий даже с помощью set +m
, если ваша ОС поддерживает управление заданиями.
То же относится и к кш. Я не знаю ни одного способа отключить или скрыть уведомления о работе. Если Bash запускается в интерактивном режиме, вы всегда будете видеть их, даже если впоследствии вы set +i
(что AFAICT не оказывает влияния после запуска). Я считаю, что set +b
делает вещи немного более терпимыми. Если вы пишете сценарий, который использует управление заданиями для сложной мультиобработки, вам все равно не придется беспокоиться об этом.