вторник, 29 октября 2013 г.

Управление фоновыми заданиями (background jobs)

Ctrl-Z - приостановить программу и вернуться в командную строку
$ bg - продолжить выполнение приостановленной программы в фоне
$ fg - продолжить выполнение приостановленной программы в интерактивном режиме
$ jobs - список фоновых заданий и приостановленных программ
$ kill %1 - прервать выполнение задания № 1 из списка, показанного командой jobs
$ fg %1 - вернуть задание № 1 в интерактивный режим
$ disown %1 - отвязать фоновое задание № 1 от текущего консольного сеанса
Если добавить значок & в конце консольной команды, она уйдёт на фоновое выполнение сразу после запуска.
Все фоновые задания (кроме отвязанных командой disown) аварийно завершаются при закрытии консольного сеанса из которого их запустили. Передать фоновые процессы от одного консольного сеанса другому нельзя. Можно передать только целиком весь консольный сеанс из одного терминала в другой, если он был создан при помощи команды screen.
Процессы, отвязанные командой disown в интерактивный режим вернуть уже нельзя. (Из списка jobs они пропадают.) Их можно убить только по номеру процесса:
$ pstree -p
$ kill <номер процесса>
Примечание: вместо системы фоновых заданий рекомендуется использовать менеджеры терминалов типа screen и tmux.

Комментариев нет:

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