Як запускати програми з терміналу Linux, не блокуючи термінал?


34

Коли я запускаю програму з терміналу, я більше не можу використовувати цей примірник терміналу, поки не закрию програму.

Чи є спосіб виконати програму / додаток з терміналу, не блокуючи термінал, поки програма не закінчиться?

Відповіді:


62

Ви шукаєте контроль роботи, який підтримується більшістю оболонок. Дивіться цю статтю для вступу. У якийсь момент ви також можете прочитати офіційну документацію для bash, яка є оболонкою за замовчуванням в Ubuntu.

Коротше кажучи: для автоматичного початку роботи у фоновому режимі ставлять &після програмного дзвінка

$ program &

Ви також можете зупинити програми, CTRLzа потім пізніше перенести їх на другий планbg

$ program
^Z
$ bg

Щоб змусити їх знову працювати на передньому плані, використовуйте fg.


Виявлення, що є офіційна документація на bash, було великою допоміжною допомогою, яку я отримав від цієї відповіді, дякую!
Addem

1

Якщо контроль за роботою не є саме тим, що ви хочете, подивіться на екран .

Екран керує декількома віртуальними терміналами, щоб ви могли запускати кілька програм, не взаємодіючи між собою. Наприклад, ви можете одночасно запускати mocp (музичний плеєр), aptitude (менеджер пакунків) та vim (текстовий редактор), хоча всі інтерактивні програми, які розглядають термінал так, ніби вони мають єдиний доступ.

Це дозволяє легко переходити від однієї задачі до іншої, наприклад, створити новий термінал на екрані, щоб прочитати вручну - не втрачаючи місця в іншому місці - гортаючи туди-сюди тощо.


1

В Ubuntu 16.10 я не можу отримати ctrl + Z, що згадується в іншій відповіді на роботу, але

program &
^C

Іншими словами, ctrl + cколи ви запускаєте програму із заднім ampersand.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.