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

<p>ctrl + z отправляет текущее задание в фоновый режим, но останавливает его.</p><p>а как возобновить остановленную работу?</p>

<p>вы можете запустить "bg", чтобы запустить его в фоновом режиме.</p><p>"fg" перемещает его на передний план</p><p>обратите внимание, что bg и fg принимают № задания вместо pid, поэтому, если у вас запущено несколько заданий одновременно, используйте команду "jobs", чтобы получить номера заданий.</p>

<p>вы также можете запустить программу как фоновое задание с "&" в командной строке.</p><p>например.</p><pre> myprogram & </pre><p>обратите внимание, что выходные данные (как stdout, так и stderr) по-прежнему будут идти к текущему tty, поэтому обычно рекомендуется перенаправить в/dev/null или в файл журнала, например, так:</p><pre> myprogram> ~/program.log 2> & 1 & </pre><p>в любом примере это фоновая работа, как и любая другая, поэтому вы все равно можете вернуть ее на передний план с помощью 'fg' (но если вы перенаправили вывод, вы не увидите много).</p>

<p>в bash ввод "bg" переводит задание в фоновый режим до тех пор, пока оно не заблокирует ввод данных. он будет продолжать выводить в stderr и stdout, что может быть бесполезно. вы можете ввести "fg", чтобы вернуть задание на передний план.</p><pre><code>[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 ~]$ </code></pre><p>итак, это было начало длинного задания на копирование и его приостановка, запуск второго длинного задания на копирование и его приостановка, затем помещение первого задания на копирование в фоновый режим и запуск его с последующим выходом из этого первого задания на копирование. затем я поставил последнее задание на копирование и позволил ему закончить.</p>

<p>nohup task.sh &</p><p>работает в фоновом режиме, вывод идет в nohup.out в текущем каталоге. продолжает работать при выходе из системы.</p>

<p>другой вариант - отличная утилита <a href="http://www.kuro5hin.org/story/2004/3/9/16838/14935">screen</a> , которую можно использовать для одновременного запуска многих процессов без необходимости держать терминал открытым. это также позволяет гораздо проще интерактивности, чем bg и fg.</p>