Я сталкиваюсь с такой ситуацией много раз.
Например, всякий раз, когда я пытаюсь открыть какой-либо файл emacs
с sudo
правами, используя:
sudo emacs tet.c &
Вместо того, чтобы спрашивать меня о пароле, Ubuntu просто запускает emacs
процесс без какого-либо emacs
окна или какого-либо вывода на терминале (кроме pid), смотрите изображение (если я не использую '&', тогда он будет запрашивать у меня пароль):
У меня есть два вопроса, связанных с этим:
Что мне делать, когда я получаю сообщение об ошибке «Есть остановленные задания»? Как мне определить все такие остановленные работы и убить их? Как только я очищу терминал, у меня не будет пидов этих остановленных процессов.
Почему Ubuntu / Emacs ведет себя так? Почему он не спрашивает у меня пароль?
источник
quit
:) (см superuser.com/questions/486496/how-do-i-exit-telnet )Вы получили сообщение, потому что система предупреждает вас об активных заданиях, связанных с вашей текущей оболочкой.
Вы можете перечислить их запуск / остановленные работы, выполнив:
jobs
,Затем вы можете сделать одно из следующего:
fg
(напротивbg
фона),disown
чтобы удалить эти задания из вашей текущей оболочки, не убивая их,exit
/logout
дважды,kill $(jobs -p)
(добавить-9
для силы)если вы отрекаетесь от них и хотите убить все остановленные процессы, попробуйте:
kill $(ps wuax | awk 'NR>1 && $8 ~ "T" {print $2}')
Чтобы ответить на вопрос
sudo
, он не будет запрашивать у вас пароль, так как для этого требуется активный терминал, чтобы получить пароль от стандартного ввода , и, запустив его в фоновом режиме, оболочка не будет ждать завершения команды , так что у вас нет возможности взаимодействовать с командой.В этом случае у вас есть 3 возможности:
&
),читать пароль со стандартного ввода вместо оконечного устройства,
sudo -S
например,настроить sudo, чтобы не запрашивать пароль с помощью:
visudo
команды и редактированияsudoers
файла. См .: ВключитьNOPASSWD
для пользователяисточник
При возникновении ошибки остановленных заданий :
jobs
-> вы увидите задания с остановленным статусомexit
-> вы можете выйти из терминалаисточник