о настройке цели debian iSCSI

Фоновые процессы не могут читать с терминала. Если они попытаются, их приостановит сигнал SIGTTIN(t ele t ype in put ). Причина этой функции заключается в том, что если несколько процессов пытаются читать с терминала, каждый символ будет по существу случайным образом передаваться одному из процессов, что не является полезным поведением. Таким образом, процесс переднего плана получает ввод, а фоновые процессы — нет.

(Я немного упростил. Прочтите про управление терминалами и управление доступом к терминалу , если хотите более точную спецификацию, но вы редко будете сталкиваться со сценариями, где нужно копнуть глубже, чем я написал выше.)

Если sudo пытается прочитать из терминала, чтобы запросить ваш пароль, он приостанавливается. Вам нужно запустить sudo на переднем плане, а затем переключиться на фон.

Обычно вы можете запустить оболочку, а затем приказать ей выполнить команду в фоновом режиме. Например, с suвы должны сделать su -c 'lein run &'. Но авторы sudo знают, что это распространенная проблема, поэтому есть вариант:передать параметр -bвsudo.

sudo -b -E lein run

Аналогично sshвы можете использовать -fдля перехода в фоновый режим после запроса пароля. Обратите внимание, что если вы это сделаете, ваш фоновый процесс не будет заданием оболочки. Если вы хотите запустить программу в фоновом режиме и забыть о ней, это прекрасно.

1
13.11.2019, 20:47
0 ответов

Теги

Похожие вопросы