Вы можете приостановить и продолжить процесс с помощью
kill -STOP $pid
kill -CONTINUE $pid
Однако я не думаю, что kill -STOP $pid
является синхронным, поэтому следует выполнить цикл и подождать, пока процесс не изменит состояние (доступно в /proc
или через ps
).
Кроме того, из-за повторного использования ПИД-кода вышеописанные операции будут по сути быстрыми (вы можете запустить непреднамеренный процесс), если вы не сделаете их из родительского элемента $pid
в такой ситуации.таким образом, что pid не будет получен, пока вы не закончите с вызовами kill
(интерактивные оболочки автоматически получают pid в обработчике SIGCHLD).