Как отправить задания на задний план, не останавливая их?


10

Ctrl + z отправляет текущее задание в фоновый режим, но останавливает его.

А как возобновить остановленную работу?

Ответы:


17

Вы можете запустить "BG", чтобы запустить его в фоновом режиме.

«FG» перемещает его на передний план

Обратите внимание, что bg и fg принимают № задания вместо PID, поэтому, если у вас запущено несколько заданий одновременно, используйте команду «jobs», чтобы получить номера заданий.


8

Вы также можете запустить программу как фоновое задание с «&» в командной строке.

например

моя программа &

обратите внимание, что выходные данные (как stdout, так и stderr) будут по-прежнему идти в текущий tty, поэтому, как правило, рекомендуется перенаправить в / dev / null или в файл журнала, например, так:

myprogram> ~ / program.log 2> & 1 &

в любом примере это фоновая работа, как и любая другая, поэтому вы все равно можете вернуть ее на передний план с помощью 'fg' (но если вы перенаправили вывод, вы не увидите много).


5

В bash ввод «bg» переводит задание в фоновый режим до тех пор, пока оно не заблокирует ввод данных. Он будет продолжать выводить в STDERR и STDOUT, что может быть бесполезно. Вы можете ввести «fg», чтобы вернуть задание на передний план.

[adjuster@mx02 ~]$ cp ~/crap/* ~/crap2 
(Ctrl-Z)
[1]+  Stopped                cp ~/crap ~/crap2 

[adjuster@mx02 ~]$ cp ~/crap3/* ~/crap4
(Ctrl-Z)
[2]+  Stopped                cp ~/crap3/* ~/crap

[adjuster@mx02 ~]$ jobs
[1]+  Stopped                cp ~/crap ~/crap2 
[2]+  Stopped                cp ~/crap3/* ~/crap

[adjuster@mx02 ~]$ bg 1
[1]- cp ~/crap ~/crap2 &
[1]-  Exit 1                  cp ~/crap ~/crap2 

[adjuster@mx02 ~]$ fg 2
[adjuster@mx02 ~]$ 

Итак, это было начало длинного задания на копирование и его приостановка, запуск второго длинного задания на копирование и его приостановка, затем перевод первого задания на задний план и запуск его с последующим выходом из этого первого задания копирования. Затем я поставил последнее задание на копирование и позволил ему закончить.


bg 1и fg 1не работать на меня, но bg %1и fg %1сделать.
Алексей Магура

4

nohup task.sh &

Работает в фоновом режиме, вывод идет в nohup.out в текущем каталоге. Продолжает работать при выходе из системы.


2

Другой вариант - отличная экранная утилита, которую можно использовать для одновременного запуска многих процессов без необходимости держать терминал открытым. Это также позволяет гораздо проще интерактивности, чем BG и FG.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.