Translate

четвер, 11 березня 2010 р.

HOWTO: Фоновий режим, або як правильно запускати програми з консолі

Напевне часто буває шо запустив програму з консолі, програма ще потрібна, а тримати вікриту консоль не хочеться. І як зробити шоб кносоль "відпустив програму"?

І так давайте поексперементуємо...
Виберема якусь програму (бажано гуішну) шоб швидко запускалась і безболісно закриваась) Я візьму gnome-calculator

1) Відкрийте ваш улюблений термінал і запустіть звідти вашу прогу.

gnome-calculator

програма запуститься. Тепер натиснувши Ctrl-C або закривши термінал закриється і ваша програма (ну надіюсь це було ясно і без моїх підказок)

2) а тепер запустимо те саме але з символом '&' в кінці

gnome-calculator &

Калькулятор запустився але в консольці вивелось шось типу
[1] 8631
і термінал не "тримав" вашу програму... Але не спішіть радіти - при закритті терміналу все ж закриється і наш калькулятор.
Давайте подивимось все таки шо це за [1] 8631?

Але спочатку запустіть просто калькулятор без усяких амперсантів

gnome-calculator

тепер в консолі яка його тримає натиснемо Ctrl-Z. Ми призупинили нашу програму. Можете побачити що вона не реагує навіть на натискання миші. Але не треба закривати - вона не зависла)
доречі в терміналі знову бачимо ті ж [1] 8631. І так...

в квадратних дужках номер задачі ("job"). Тепер ми можемо нею управляти.
введемо

jobs

там буде шось типу

[1]+ Stopped gnome-calculator

для переведення програми в фоновий режим введемо

bg 1

(bg - background)
де 1 - номер задачі. Побачимо що прогрмам "відвисла" і відновила роботу.
Щоб перевести курування програмою (консольний ввід) переведемо задачу "на передній план"

fg 1

... і ми знову тримаємо програму нашою консолю

Примітка: команди fg, bg можна було юзати без аругументів - тоді вони виконують управляють задачею яка позначена плюсом (+) в джобсах

А тепер кульмінація

nohup gnome-calculator

тепер по Ctrl-Z , bg переведемо задачу в фоновий режим.
Ну і все. можете закрити консоль а ваш калькулятор залишиться на вашому екрані.
Щоб ще швидше використовуйте

nohup gnome-calculator &

тоді програма автоматом переведеться в фоновий режим і не тримається консолю
Можна сміливо закривати термінал