Відповіді:
ви можете запустити "bg", щоб запустити його у фоновому режимі.
"fg" переміщує його на перший план
Зауважте, що bg та fg беруть завдання # замість PID, тому якщо у вас кілька запущених завдань одночасно, використовуйте команду "jobs", щоб отримати номери завдань.
Ви також можете запустити програму як фонове завдання з командою "&" у командному рядку.
напр
моя програма &
зауважте, що вихідні дані (як stdout, так і stderr) все одно перейдуть до поточного tty, тому загалом хорошою ідеєю є перенаправлення на / dev / null або на файл журналу, наприклад:
моя програма> ~ / program.log 2> & 1 &
в будь-якому прикладі це фонове завдання, як і будь-яке інше, тому ви все одно можете повернути його на передній план за допомогою "fg" (але якщо ви перенаправили вихід, ви не побачите багато).
У 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
робіть.