1

Есть ли способ запустить команду из эмулятора терминала в Openbox, чтобы Openbox владел процессом, а не терминалом?

Тогда я мог бы запустить программу из эмулятора терминала, которая продолжала бы работать, когда я закрывал эмулятор терминала, но выходил бы при выходе из X11?

1 ответ1

0

Да, просто запустите команду в фоновом режиме и корректно выйдите из эмулятора терминала (используйте Ctrl+D или exit):

command &

Например, firefox & .

В оболочке BASH амперсанд (&) означает "запустить эту команду как фоновый процесс". Если вы закроете терминал, с которого вы его запустили, используя команду exit или Ctrl+D, программа продолжит работу. Если вы закроете терминал, нажав на его окна "X", это также приведет к остановке процесса.

Чтобы вернуть процесс на передний план (из того же терминала или tty), запустите fg . Чтобы отправить процесс, запущенный в фоновом режиме, введите Ctrl+Z в терминале, с которого вы его запустили.

Другие способы запуска процессов способом, независимым от эмулятора терминала, который их запустил, заключаются в следующем (всегда в качестве примера используется firefox):

  1. nohup Из справочной страницы nohup :

    nohup - запустить команду, защищенную от зависаний, с выводом не-tty

    Если стандартный ввод является терминалом, перенаправьте его из /dev /null. Если стандартный вывод является терминалом, добавьте вывод в nohup.out' if possible, в противном случае $ HOME /nohup.out'. Если стандартной ошибкой является терминал, перенаправьте его на стандартный вывод. Чтобы сохранить вывод в файл, используйте `nohup COMMAND> FILE '.

    Пример:

    nohup firefox
    
  2. at от at страницах руководства:

    at, batch, atq, atrm - очередь, проверка или удаление заданий для последующего выполнения

    at выполняет команды в указанное время.

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

    echo "firefox" > command.txt
    at 14:56 < command.txt
    

    Приведенный выше пример указывает at запуск команд, перечисленных в файле command.txt в 14:56.

ПРИМЕЧАНИЕ. Используя at или nohup , запущенный процесс продолжит работу после выхода из X.

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