Управление процессами в bash Linux

Что бы отправить запущенный процесс в фон, нужно его приостановить:

Ctrl-z

Получить номер приостановленного процесса:

jobs -l

затем отправить в фон командой bg:

bg %jobnum

Вернуть процесс на передовую можно командой fg:

fg %jobnum

Для того, что бы процесс не прерывался после окончания терминальной сессии, нужно запускать его в скрине (screen). Но что делать, если процесс выполняется уже несколько часов, а конца и края ему не видно. Как-то жалко обрывать его и терять драгоценное время.

Что бы не пасть духом, можно отправить процесс в фон, используя то, что было описано выше. Потом порвать все связи с ним командой:

disown -h %jobnum

Теперь можно спокойно закрывать терминальное окно, запущенная команда будет выполняться без Вас.

Получить информацию о том, выполняется ли запущенная задача можно с помощью утилиты ps:

ps -aux |grep %имя_процесса%

Вторая колонка - номер PIDа процесса.

Можно пользоваться так же утилитой kill для управления процессами:

  • kill -9 PID - остановит выполнение
  • kill -20 PID - приостановит (поставит на паузу) выполнение
  • kill -18 PID - продолжит выполнение приостановленного процесса.

Categories:

Updated: