Да, просто запустите команду в фоновом режиме и корректно выйдите из эмулятора терминала (используйте Ctrl+D или exit
):
command &
Например, firefox &
.
В оболочке BASH амперсанд (&
) означает "запустить эту команду как фоновый процесс". Если вы закроете терминал, с которого вы его запустили, используя команду exit
или Ctrl+D, программа продолжит работу. Если вы закроете терминал, нажав на его окна "X", это также приведет к остановке процесса.
Чтобы вернуть процесс на передний план (из того же терминала или tty), запустите fg
. Чтобы отправить процесс, запущенный в фоновом режиме, введите Ctrl+Z в терминале, с которого вы его запустили.
Другие способы запуска процессов способом, независимым от эмулятора терминала, который их запустил, заключаются в следующем (всегда в качестве примера используется firefox):
nohup
Из справочной страницы nohup
:
nohup - запустить команду, защищенную от зависаний, с выводом не-tty
Если стандартный ввод является терминалом, перенаправьте его из /dev /null. Если стандартный вывод является терминалом, добавьте вывод в nohup.out' if possible,
в противном случае $ HOME /nohup.out'. Если стандартной ошибкой является терминал, перенаправьте его на стандартный вывод. Чтобы сохранить вывод в файл, используйте `nohup COMMAND> FILE '.
Пример:
nohup firefox
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.