2016-02-19 5 views
0

Я работаю с золой/тире и попытаться убить подпроцесс - который, кажется, не реагировать:Не удается убить остановленную работу - нет управления заданиями в подпроцессе?

sh & открывает подпроцесс и jobs обеспечивает [1]+ Stopped (tty Input) sh.

Но попытка убить это задание kill %1 или kill 26672 не работает. jobs поставляет [1]+ Stopped (tty Input) sh еще раз.

После помещения задания на передний план с помощью fg открывается оболочка для ввода. Ни ctrl+c, ни ctrl+z не работают, но я могу убить процесс с помощью exit или kill -SIGKILL $$ соответственно остановить/приостановить процесс с kill -STOP $$ (нет suspend -команда в золе).

С другой стороны - при этом с 0 до sleep 100 работает до I fg и прекращает процесс с ctr+z. Тогда я не могу kill это остановленное задание.

Итак, что мне не хватает и что может быть решением для уничтожения остановленной работы? Должен ли я иметь дело с set -m и как?

Заранее спасибо.

+0

Какая операционная система? – kometen

+0

В основном ** Busybox ** - который предлагает присущую Almqvist-Shell (пепел). – deetee

ответ

0

Вы можете запустить остановленный процесс на kill -SIGCONT %number, а также, если вам нужно убить этот процесс, вы можете его убить kill -SIGTERM %number. Попробуйте это Я думаю, что это поможет вам.

+0

Спасибо за подсказку. На самом деле 'kill -SIGKILL% 1' или' kill -KILL% 1' выполнил (убил) задание. В случае использования пепла работала вторая команда. Чтобы увидеть возможные сигналы, оболочка поддерживает команду 'kill -l'. Вместо '-SIGKILL' или' -KILL' также можно использовать '-9'. Кстати: 'SIGTERM' не убивает работу. – deetee

 Смежные вопросы

  • Нет связанных вопросов^_^