it-swarm-ru.tech

Как приостановить и возобновить процессы

В терминале bash я могу нажать Control+Z чтобы приостановить любой запущенный процесс ... тогда я могу набрать fg, чтобы возобновить процесс.

Можно ли приостановить процесс, если у меня есть только PID? И если да, то какую команду мне использовать?

Я ищу что-то вроде:

suspend-process $PID_OF_PROCESS

а затем возобновить его с

resume-process $PID_OF_PROCESS
151
Stefan

Вы можете использовать kill, чтобы остановить процесс.

Для "вежливой" остановки процесса (предпочитайте это для обычного использования), отправьте SIGTSTP:

kill -TSTP [pid]

Для "жесткой" остановки отправьте SIGSTOP:

kill -STOP [pid]

Обратите внимание, что если процесс, который вы пытаетесь остановить с помощью PID, находится в таблице заданий вашей оболочки, он может оставаться там видимым, но завершаться, пока процесс не будет fg 'd снова.

Чтобы возобновить выполнение процесса, отправили SIGCONT:

kill -CONT [pid]
181
Steve Burdine

Для этого вы должны использовать команду kill.

Чтобы быть более многословным - вы должны указать правильный сигнал , т.е.

$ kill -TSTP $PID_OF_PROCESS

для приостановки процесса и

$ kill -CONT $PID_OF_PROCESS

для возобновления этого. Документировано здесь .

48
maxschlepzig