Управление процессами в 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 - продолжит выполнение приостановленного процесса.