29

Когда я запускаю программу из терминала, я не могу снова использовать этот экземпляр терминала, пока не закрою программу.

Есть ли способ выполнить программу / приложение из терминала, не блокируя терминал, пока программа не закончится?

3 ответа3

57

Вы ищете контроль работы, который поддерживается большинством оболочек. Смотрите эту статью для ознакомления. В какой-то момент вы также можете прочитать официальную документацию по bash, который является оболочкой по умолчанию в Ubuntu.

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

$ program &

Вы также можете остановить программы с помощью CTRL z, а затем перевести их в фоновый режим позже с помощью bg

$ program
^Z
$ bg

Чтобы заставить их работать на переднем плане, снова используйте fg .

1

В Ubuntu 16.10 я не могу заставить работать ctrl + Z, упомянутую в другом ответе, но

program &
^C

Работает ли у меня, другими словами, ctrl + c после запуска программы с конечным амперсандом.

1

Если управление заданиями не совсем то, что вам нужно, посмотрите на экран.

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

Это облегчает переключение с одной задачи на другую, например, создание нового терминала на экране для чтения справочной страницы - без потери места в другом месте - перелистывание назад и вперед и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .