Перейти к содержимому

Как запустить программу в фоновом режиме

  • автор:

Windows фоновых приложений и конфиденциальности

В Windows приложения могут продолжать выполнять действия, даже если вы не находитесь в активном окне приложения. Обычно такие приложения называют фоновыми. Вы можете решить, какие приложения будут работать в фоновом режиме, а какие нет.

Управление возможностью работы приложения в фоновом режиме

  1. Выберите Начните , а затем выберите Параметры >приложения >приложения & функций.
  2. Прокрутите страницу до нужного приложения , выберите Дополнительные параметры в правой части окна, а затем выберите Дополнительные параметры.
  3. В разделе Разрешения фоновых приложенийв разделе Разрешить запуск этого приложения в фоновом режиме выберите один из следующих параметров:
    • Всегда — приложение работает в фоновом режиме, получает сведения, отправляет уведомления и остается в курсе, даже если вы не используете его активно. Этот параметр может использовать больше энергии.
    • Оптимизированная версия : Windows решает, что будет экономить больше всего энергии, позволяя приложению получать уведомления и периодически обновляться. Этот параметр может ограничивать приложения, использующие много энергии.

Примечание: Вы также можете управлять действиями в фоновом режиме для приложенийс помощью параметров аккумулятора.

Остановка работы приложения в фоновом режиме

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

  1. Выберите Начните , а затем выберите Параметры >приложения >приложения & функций.
  2. Прокрутите страницу до нужного приложения , выберите Дополнительные параметры в правой части окна, а затем выберите Дополнительные параметры.
  3. В разделе Разрешения фоновых приложений в разделе Разрешить запуск этого приложения в фоновом режиме выберите Никогда.

Исключения для параметров конфиденциальности

Классические приложения не отображаются в списке приложений. Чтобы разрешить или запретить использование классических приложений, настройте параметры этих приложений.

Примечание: Отличительные характеристики классического приложения. Классические приложения обычно скачиваете из Интернета или с некоторым типом мультимедиа (например, компакт-диском, DVD-диском или USB-накопителем). Их запуск выполняется с помощью файла EXE или DLL и, как правило, они выполняются на устройстве (в отличие от веб-приложений, которые выполняются в облаке). Кроме того, классические приложения можно найти в Microsoft Store.

Управление приложениями, которые могут запускаться в фоновом режиме

  1. Выберите Начните , а затем выберите Параметры >конфиденциальности >фоновых приложений.
  2. В разделе Фоновые приложения убедитесь, что параметр Разрешить приложениям работать в фоновом режимевключен.
  3. В разделе Выберите, какие приложения могут работать в фоновом режимевключите или отключите параметры для отдельных приложений и служб.

Остановка работы большинства приложений в фоновом режиме

  1. Выберите Начните , а затем выберите Параметры >конфиденциальности >фоновых приложений.
  2. В разделе Фоновые приложения убедитесь, что параметр Разрешить приложениям работать в фоновом режимевыключен.

Исключения для параметров конфиденциальности

Классические приложения не отображаются в списке Выберите приложения, которые могут запускаться в фоновом режиме, и на них не влияет параметр Позволить приложениям запускаться в фоновом режиме. Чтобы разрешить или запретить использование классических приложений, настройте параметры этих приложений.

Примечание: Отличительные характеристики классического приложения. Классические приложения обычно скачиваете из Интернета или с некоторым типом мультимедиа (например, компакт-диском, DVD-диском или USB-накопителем). Их запуск выполняется с помощью файла EXE или DLL и, как правило, они выполняются на устройстве (в отличие от веб-приложений, которые выполняются в облаке). Кроме того, классические приложения можно найти в Microsoft Store.

Как запустить программу в фоновом режиме


Next: Последовательное выполнение команд (символ Up: Специальные символы Previous: Специальные символы Contents Index

Некоторые команды shell занимают много времени при выполнении. Эти команды можно запустить в фоновом режиме с использованием & , освобождая тем самым терминал для других задач. Общий формат для запуска команд в фоновом режиме следующий:

command &

Примечание. Интерактивные команды shell (например, read ) нельзя запускать в фоновом режиме.

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

Запустить команду в фоновом режиме вы можете только в том случае, если ваш терминал предоставляет вам такую возможность.

Alex Otwagin 2002-12-16

Как запустить процесс в фоне Linux

В этой статье расскажем о том, что такое процесс в фоне Linux и как его запустить. Инструкция предельно простая и понятная.

В Linux есть 2 режима работы с процессами:

foreground (приоритет, форграунд) – режим, при котором запуск новой команды возможен только после завершения прошлой;

background (фон, бекграунд) – для запуска новой команды не нужно завершать предыдущую.

Для чего запускают background-команды (в фоне) Linux

Работа в режиме бэкграунда (фоновом) удобна тем, что можно работать с несколькими командами параллельно. Окно терминала всегда доступно для того, чтобы вписывать в него новые команды. Остается разобраться, как с этим грамотно работать.

Как запустить фоновую команду в Линуксе: пошаговая инструкция

Чтобы запустить команду бекграунд (в фоне), необходимо ввести ее название и добавить в конец строчки знак эмперсанда &. Он указывается после пробела. К примеру:

thisisyourcommand argument1 argument2 &

К примеру, нам необходимо запустить распаковку tar-архива. Для этого используем в Линукс команду:

Вы можете использовать терминал для того, чтобы вводить в него новые команды и работать дальше, пока архив будет распаковываться в фоне.

По ходу работы вы можете видеть цифры [1] 3459. Давайте разберемся, что это такое и для чего используется.

[1] – номер, назначенный процессу оболочкой.

3459 – идентификатор созданного процесса (PID).

Если можно запустить процесс в фоне Линукс, то можно его оттуда и достать. Для вывода процесса из бекграунда нужна команда fg. Если ее ввести без указания номера задания, система по дефолту выведет из фона последний запущенный процесс.

Чтобы вывести из background в Линуксе конкретное задание, нужна команда:

В данном примере мы вывели из фона первую команду. Вам необходимо указать конкретный номер.

Также поддерживается возможность просмотра тех заданий, которые сейчас отрабатывают в фоне. Вам необходимо ввести команду

Теперь вы знаете, как запустить background-процесс (в фоне) Linux, посмотреть его статус и изменить приоритетность.

Как запустить процесс в фоне Linux

Как правило, выполнение команд в терминале связано с одним неудобством — прежде чем приступить к вводу следующей команды, следует дождаться выполнения предыдущей. Это происходит, поскольку текущий процесс блокирует доступ к оболочке операционной системы и в таких случаях говорят, что команда выполняется на переднем плане. Что же делать, если нужно запустить несколько команд одновременно? Есть несколько решений. Первое и наиболее очевидное — открыть дополнительное окно терминала. Второе — инициировать выполнение команды в фоновом режиме.

Если какой-либо процесс происходит в фоновом режиме, это значит, что он не предусматривает взаимодействия с пользователем, следовательно, доступ к оболочке остается свободным. Прочитав эту статью, вы узнаете как запустить процесс в фоне Linux и что делать, чтобы их выполнение не прерывалось после закрытия терминала.

Table of Contents

  • Как запустить процесс в фоне Linux
  • Как перевести процесс в фоновый режим
  • Работа процессов в фоне
  • Выводы

Как запустить процесс в фоне Linux

Для выполнения команды в фоновом режиме достаточно добавить в конце символ амперсанда (&):

В выводе терминала будут отображены порядковый номер задачи (в квадратных скобках) и идентификатор процесса:

В фоновом режиме можно одновременно запускать сразу два, три, четыре процесса и даже больше.

Работая в фоновом режиме, команда все равно продолжает выводить сообщения в терминал, из которого была запущена. Для этого она использует потоки stdout и stderr, которые можно закрыть при помощи следующего синтаксиса:

command > /dev/null 2>&1 &

Здесь >/dev/null 2>&1 обозначает, что stdout будет перенаправлен на /dev/null, а stderr — к stdout.

Узнать состояние всех остановленных и выполняемых в фоновом режиме задач в рамках текущей сессии терминала можно при помощи утилиты jobs c использованием опции -l:

Вывод содержит порядковый номер задачи, идентификатор фонового процесса, состояние задачи и название команды, которая запустила задание.

В любое время можно вернуть процесс из фонового режима на передний план. Для этого служит команда fg:

Если в фоновом режиме выполняется несколько программ, следует также указывать номер. Например:

Для завершения фонового процесса применяют команду kill с номером программы:

Как перевести процесс в фоновый режим

Если изначально процесс был запущен обычным способом, его можно перевести в фоновый режим, выполнив следующие действия:

  1. Остановить выполнение команды, нажав комбинацию клавиш Ctrl+Z.
  2. Перевести процесс в фоновый режим при помощи команды bg.

Работа процессов в фоне

Запуск скрипта в фоне linux — это одно, но надо чтобы он ещё работал после закрытия терминала. Закрытие терминала путем нажатия на крестик в верхнем углу экрана влечет за собой завершение всех фоновых процессов. Впрочем, есть несколько способов сохранить их после того как связь с интерактивной оболочкой прервется. Первый способ — это удаление задачи из очереди заданий при помощи команды disown:

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

Убедиться, что задачи больше нет в списке заданий, можно, использовав уже знакомую утилиту jobs -l. А чтобы просмотреть перечень всех запущенных процессов (в том числе и отключенных) применяется команда

Второй способ сохранить запущенные процессы после прекращения работы терминала — команда nohup. Она выполняет другую команду, которая была указана в качестве аргумента, при этом игнорирует все сигналы SIGHUP (те, которые получает процесс при закрытии терминала). Для запуска команды в фоновом режиме нужно написать команду в виде:

Как видно на скриншоте, вывод команды перенаправляется в файл nohup.out. При этом после выхода из системы или закрытия терминала процесс не завершается. Существует ряд программ, которые позволяют запускать несколько интерактивных сессий одновременно. Наиболее популярные из них — Screen и Tmux.

  • Screen либо GNU Screen — это терминальный мультиплексор, который позволяет запустить один рабочий сеанс и в рамках него открыть любое количество окон (виртуальных терминалов). Процессы, запущенные в этой программе, будут выполняться, даже если их окна невидимы или программа прекратила работу.
  • Tmux — более современная альтернатива GNU Screen. Впрочем, возможности Tmux не имеют принципиальных отличий — в этой программе точно так же можно открывать множество окон в рамках одного сеанса. Задачи, запущенные в Tmux, продолжают выполняться, если терминал был закрыт.

Выводы

Чтобы запустить скрипт в фоне linux, достаточно добавить в конце знак &. При запуске команд в фоновом режиме отпадает необходимость дожидаться завершения одной команды для того, чтобы ввести другую. Если у вас возникли вопросы, обязательно задавайте их в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *