Як відправити завдання на другий план, не зупиняючи їх?


10

Ctrl + z посилає поточне завдання на задній план, але зупиняє його.

А як відновити зупинену роботу?

Відповіді:


17

ви можете запустити "bg", щоб запустити його у фоновому режимі.

"fg" переміщує його на перший план

Зауважте, що bg та fg беруть завдання # замість PID, тому якщо у вас кілька запущених завдань одночасно, використовуйте команду "jobs", щоб отримати номери завдань.


8

Ви також можете запустити програму як фонове завдання з командою "&" у командному рядку.

напр

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

зауважте, що вихідні дані (як stdout, так і stderr) все одно перейдуть до поточного tty, тому загалом хорошою ідеєю є перенаправлення на / dev / null або на файл журналу, наприклад:

моя програма> ~ / 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.