Что мне делать, когда я получаю сообщение об ошибке «Есть проблемы с остановками»?

Я часто сталкиваюсь с этим типом ситуации.

Например, когда я пытаюсь открыть какой-либо файл в emacs с правами sudo, используя:

sudo emacs tet.c &

Вместо того, чтобы просить меня пароль Ubuntu только начинает процесс emacs без какого-либо окна emacs или любого вывода на терминале (кроме pid), см. изображение (если я не использую '& amp;', тогда он попросит меня пароль):

У меня есть два вопроса, связанных с этим:

Что мне делать, когда я получаю сообщение об ошибке «Есть остановленные задания»? Как определить все такие остановленные задания и убить их? Как только я очищу терминал, у меня не будет pids этих остановленных процессов. Почему Ubuntu / emacs ведут себя так? Почему он не спрашивает меня пароль?
1
задан 9 March 2014 в 13:55

2 ответа

Вы получили сообщение, потому что система предупреждает вас об активных заданиях, связанных с вашей текущей оболочкой.

Вы можете перечислить эти запущенные / остановленные задания, выполнив: jobs,

Затем вы можете выполнить одно из следующих действий:

перенести последнее задание на передний план: fg, запустить disown, чтобы удалить эти задания из текущей оболочки без их уничтожения, принудительно выйти из системы, убив эти задачи дважды нажав Ctrl + D, так же, как дважды набирать exit / logout, убить эти задания вручную, запустив: kill $(jobs -p) (добавьте -9 для силы), если вы отмените их, и вы хотите все же убить всех остановленных процессов, попробуйте: kill $(ps wuax | awk 'NR>1 && $8 ~ "T" {print $2}')

Чтобы ответить на вопрос о sudo, он не будет запрашивать у вас пароль, так как для этого требуется наличие активного терминала для получения пароль от стандартного ввода и запустив его фон, оболочка не ждет завершения команды, поэтому у вас нет возможности взаимодействовать с этой командой.

В этом случае вы '3 возможности:

перенести последнюю работу на передний план с помощью: fg, читать пароль со стандартного ввода вместо терминального устройства с помощью sudo -S, например.
echo mypass | sudo emacs tet.c
запустите disown, чтобы удалить эти задания из текущей оболочки без их уничтожения,
8
ответ дан 24 May 2018 в 10:59

Когда вы сталкиваетесь с ошибкой остановленных заданий:

type jobs -> вы увидите задания с остановленным статусом, а затем введите exit -> вы можете выйти из терминала
3
ответ дан 24 May 2018 в 10:59

Другие вопросы по тегам:

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