Переместить запущенную программу на задний план в bash

Если я запускаю программу в bash, я могу приостановить ее, нажав Ctrl + Z . Если я хочу оставить программу работающей, я могу использовать команду bg. Есть ли какой-то способ напрямую поместить программу в фоновый режим, не вводя bg?

Уточнение : я хочу поместить программу в фоновый режим, когда она уже запущена без приостановки его.

10
задан 18 October 2018 в 15:45

3 ответа

Я не думаю, что можно переместить запущенную программу в фоновый режим (пока процесс находится в состоянии выполнения).
Однако есть приложение под названием GNU-Screen , с помощью которого вы можете запускать любое количество консольных приложений - интерактивных командных оболочек, приложений на основе curses, текстовых редакторов и т. Д. - в пределах одного терминала. .
Вот хороший учебник на GNU-Screen.
Обратите внимание, что он не выполняет именно то, что вы просили, но в любом случае служит цели.
Пример:
Вот реализация того, что вы просили, используя GNU-Screen.

  1. Выполнить screen
    Вы получите подробную информацию о программном обеспечении. Нажмите клавишу возврата.
  2. Теперь вы увидите свой обычный терминал. Однако, это окно экрана. Введите любую команду, скажем vlc. Это запустит процесс в этом окне.
  3. Теперь, чтобы открыть новое окно, введите Ctrl + A , а затем C . Вы можете запустить новую команду здесь. что процесс, который вы запустили в окне 1, все еще выполняется.
  4. Чтобы отсоединиться от экрана, нажмите Ctrl + A , а затем D . Теперь вы вернетесь к своему старому termianl. процесс, который вы запустили с экрана, все еще будет выполняться.
0
ответ дан 18 October 2018 в 15:45

Насколько мне известно, вы можете запустить его, а затем добавить и после этого следующим образом: myprogram &

Однако я могу быть очень неправ здесь.

[РЕДАКТИРОВАТЬ]: При более внимательном рассмотрении этого, если вы запустите выше, приложение закроется, когда вы закроете терминал. Если вы хотите, чтобы приложение работало в фоновом режиме, то, насколько мне известно, приложение должно быть написано таким образом, чтобы поддерживать поведение демона.

[РЕДАКТИРОВАТЬ 2]: nohup command &, кажется, ближе к тому, что вы хотите достичь. Nohup позволит приложению запускаться и игнорирует его ввод и перенаправляет его вывод в файл с именем nohup.out в текущем каталоге.

0
ответ дан 18 October 2018 в 15:45

Это не может быть реальным ответом. Интересно, чем отличается Bash между Ubuntu и MSYS.

Я запускаю MSYS, и когда я запускаю Application/Chrome &, он сразу переходит в фоновый процесс. Я могу использовать MSYS bash, когда начнет мигать следующая подсказка.

И это вопросы Переместить запущенную программу в фоновый режим с похожими намерениями?

0
ответ дан 18 October 2018 в 15:45

Другие вопросы по тегам:

Похожие вопросы: