Назад | Перейти на главную страницу

Управление заданиями: как убить задание sudo с помощью идентификатора задания

Если я буду работать с sudo Я не могу kill %1 их (операция не разрешена). Моей первой мыслью было использовать sudo kill %1 вместо этого, но это, конечно, тоже не работает, потому что он не будет использовать встроенный bash kill. Есть ли уловка, чтобы заставить эту работу работать?

// Я знаю, как убить процесс через его PID. Вопрос конкретно в том, как использовать идентификатор задания, чтобы убить задание sudo.

sudo kill "$(jobs -p %1)"

Это плохой вопрос, и тебе должно быть плохо.

НОТА: Технически двойные кавычки здесь не нужны, потому что мы знаем вывод jobs будет PID и не будет содержать никаких символов в $IFS. Однако использование переменных в кавычках - это всегда хорошая привычка. И чтобы гарантировать, что вы последовательно используете методы качественного кодирования, они должны быть укоренившимися привычками. $(...) используется вместо обратных кавычек, потому что обратные кавычки - это старый способ действий, и они менее заметны. $(...) это новая горячность, условно говоря. В этом случае новой горячности несколько десятилетий.