Рейтинг:0

Отправьте сигнал на обработку и подождите x секунд, пока он не исчезнет

флаг jp

я бы подумал, что это общая идиома в мире Linux, поэтому мой вопрос в том, есть ли для него встроенная функциональность?

Что-то вроде:

Аргументы:

$PID - процесс для отправки сигнала
$SIGNAL_NAME - сигнал для отправки процессу
$WAIT_TIME - количество секунд ожидания исчезновения $PID

Команда, которую я ищу, отправит процессу $PID $SIGNAL_NAME, а затем синхронно подождет $WAIT_TIME, пока процесс $PID не исчезнет. У команды, конечно, будет правильный код выхода.

Я могу написать такой скрипт довольно легко.Я просто ожидал, что это будет общее требование? Возможно, встроенная оболочка?

Рейтинг:0
флаг jp

Аргх

Я надеялся на вариант на убийство команда или что-то, что сделало бы этот трюк для меня.

Лучшее решение, которое я нашел до сих пор, это:

убить -$SIGNAL_NAME $PID; тайм-аут ${WAIT_TIME}s tail -f /dev/null --pid $PID

который отлично работает, если предположить, что хвост команда поддерживает --пид вариант. Тем не менее, это яркий пример одной из (многих) командных конструкций Linux, которая требует значительного количества времени и исследований, чтобы понять, что она на самом деле делает. делает. Через 1 месяц я забуду, почему это работает. :-(

killall --подождите Команда кажется довольно близкой к встроенному решению проблемы, за исключением того, что она не принимает PID в качестве аргумента.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.