Как правило, выполнение команд в терминале связано с одним неудобством — прежде чем приступить к вводу следующей команды, следует дождаться выполнения предыдущей. Это происходит, поскольку текущий процесс блокирует доступ к оболочке операционной системы и в таких случаях говорят, что команда выполняется на переднем плане.
Что же делать, если нужно запустить несколько команд одновременно? Есть несколько решений. Первое и наиболее очевидное — открыть дополнительное окно терминала. Второе — инициировать выполнение команды в фоновом режиме.
Если какой-либо процесс происходит в фоновом режиме, это значит, что он не предусматривает взаимодействия с пользователем, следовательно, доступ к оболочке остается свободным. Прочитав эту статью, вы узнаете как запустить процесс в фоне Linux и что делать, чтобы их выполнение не прерывалось после закрытия терминала.
Как запустить процесс в фоне Linux
Для выполнения команды в фоновом режиме достаточно добавить в конце символ амперсанда ( /dev/null 2>
Включение принудительной работы приложений в фоновом режиме на телефонах samsung galaxy
Здесь >/dev/null 2>. При запуске команд в фоновом режиме отпадает необходимость дожидаться завершения одной команды для того, чтобы ввести другую. Если у вас возникли вопросы, обязательно задавайте их в комментариях.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Источник: losst.pro
windows 10 запуск программы в фоне
В Windows 10 есть приложения, которые могут продолжать выполняться, даже если вы не работаете непосредственно в окне этого приложения. Обычно такие приложения называют фоновыми.
Управление списком приложений, которые могут работать в фоновом режиме
В меню Пуск перейдите в раздел Параметры > Конфиденциальность > Фоновые приложения.
В разделе Фоновые приложения убедитесь, что параметр Разрешить приложениям работать в фоновом режиме включен.
В разделе Выберите, какие приложения могут работать в фоновом режиме включите или отключите параметры для отдельных приложений и служб.
Чтобы остановить работу приложений в фоновом режиме, выполните следующие действия
В меню Пуск перейдите в раздел Параметры > Конфиденциальность > Фоновые приложения.
В разделе Фоновые приложения убедитесь, что параметр Разрешить приложениям работать в фоновом режиме выключен.
Исключения для параметров конфиденциальности
Классические приложения не будут отображаться в списке Выберите, какие приложения могут работать в фоновом режиме, и на них не влияет параметр Разрешить приложениям работать в фоновом режиме. Чтобы разрешить или запретить использование классических приложений, настройте параметры этих приложений.
Примечание: Отличительные характеристики классического приложения. Классические приложения обычно скачиваются из Интернета или устанавливаются с какого-либо носителя (например, компакт-диска, DVD-диска или запоминающего USB-устройства). Их запуск выполняется с помощью файла EXE или DLL и, как правило, они выполняются на устройстве (в отличие от веб-приложений, которые выполняются в облаке). Кроме того, классические приложения можно найти в Microsoft Store.
Приложения не работают в фоновом режиме? Как исправить. MIUI 12.5.3.0 ВЕРНЫЙ СПОСОБ!
Как в Windows 10 запускать программы в скрытом режиме
Как в Windows 10 запускать программы в скрытом режиме
Windows 11
Не отображается текст в ячейке Excel
Как отобразить строки в Excel
Как закрыть Эксель, если не закрывается
Как сделать, чтобы Эксель не округлял числа
Большинство запущенных в Windows 10 программ, как сторонних, так и встроенных, отображаются в панели задач и имеют отдельное окно, но можно сделать так, что запущенная программа будет работать в скрытом режиме, внешне ничем себя не выдавая. Реализовать этот трюк можно с помощью специальных утилит, например, таких как Quiet или NirCmd, но можно легко обойтись и без них, так как в Windows 10 имеются собственные средства для скрытия запущенных приложений.
Рассмотрим это на примере обычного Блокнота. Для его запуска в фоновом режиме мы будем использовать скрипт VBSсript, написанный вручную. Откройте любой текстовый редактор, скопируйте и вставьте в него следующий код:
Dim WShell
Set WShell = CreateObject(«WScript.Shell»)
WShell.Run «Notepad.exe», 0
Set WShell = Nothing
Обратите внимание на третью строчку, в прямых кавычках указывается название исполняемого файла или полный путь к исполняемому файлу запускаемой в тихом режиме программы.
Сохраните текстовый файл под произвольным именем, но обязательно с расширением VBS.
Если по такому файлу дважды кликнуть, запустится Блокнот, но при этом он не будет иметь ни окна, ни значка в системном трее, а убедиться, что он запущен можно будет разве что из Диспетчера задач.
Второй способ запуска программ в скрытом режиме заключается в использовании консоли PowerShell. В Windows 10, а также более ранних версиях системы в PowerShell для этого имеется специальный командлет Start-Process. Полностью же команда запуска будет выглядеть следующим образом:
Ну вот и все, только вот для чего вам может понадобиться подобный трюк, решайте сами. Запустить таким способом в скрытом режиме можно не все приложения, так что если какая-то программа откроется с окном, не удивляйтесь.
Windows 10 запуск программы в фоне
Этот форум закрыт. Спасибо за участие!
Спрашивающий
Вопрос
Просто фоновый режим (без окна), но без перенаправления в файл работает так.
start /b myprog.exe
Единственной возможностью остаётся вложить команду cmd в команду start так.
start /b cmd /c «myprog.exe > myfile.txt»
По описаниям в помощи это должно делать то, что нужно, однако почему-то окно всё равно не закрывается.
Вообще непонятно, зачем понадобилось открывать окно по умолчанию и создавать такие сложности, чтобы его специально закрыть. В OS Linux всё наоборот. По умолчанию окна нет, если оно нужно, то отдельной опцией это указывается. В OS Linux требуемое действие делается очень просто так.
myprog > myfile https://windorez.ru/articles/windows-10-zapusk-programmy-v-fone.html» target=»_blank»]windorez.ru[/mask_link]
Поддержка приложения с помощью фоновых задач
В темах этого раздела показано, как обеспечить выполнение облегченного кода в фоновом режиме в ответ на триггеры. Фоновые задачи можно использовать для предоставления функциональных возможностей, когда приложение приостановлено или не выполняется. Фоновые задачи также можно использовать для приложений, обеспечивающих общение в реальном времени, например компьютерной телефонии, почты и обмена мгновенными сообщениями.
Воспроизведение мультимедиа в фоновом режиме
Начиная c Windows 10 версии 1607, воспроизведение звука в фоновом режиме стало значительно проще. См. дополнительные сведения в разделе Воспроизведение мультимедиа в фоновом режиме.
Фоновые задачи внутри и вне процесса
Существует два подхода к реализации фоновых задач.
- В процессе: приложение и его фоновый процесс запускаются в одном и том же процессе
- Вне процесса: приложение и фоновый процесс выполняются в отдельных процессах.
Поддержка выполняемых в процессе фоновых задач появилась в Windows 10 версии 1607, чтобы упростить написание фоновых задач. Однако вы по-прежнему можете создавать фоновые задачи вне процесса. См. рекомендации о том, когда записывать фоновую задачу в процессе и вне его, в разделе Рекомендации по фоновым задачам.
Фоновые задачи, которые выполняются вне процесса, являются более устойчивыми, поскольку фоновый процесс не может прекратить работу приложения, если что-то пойдет не так. Но устойчивость достигается за счет большей сложности при управлении межпроцессным взаимодействием между приложением и фоновой задачей.
Выполняемые вне процесса фоновые задачи реализуются как облегченные классы, которые реализуют интерфейс IBackgroundTask, который ОС выполняет в виде отдельного процесса (backgroundtaskhost.exe). Зарегистрируйте фоновую задачу с помощью класса BackgroundTaskBuilder. Имя класса используется для указания точки входа при регистрации фоновой задачи.
В Windows 10 версии 1607 можно включить фоновую активность, не создавая фоновой задачи. Вместо этого код фоновой задачи можно выполнять прямо внутри процесса приложения переднего плана.
Чтобы быстро приступить к работе с фоновыми задачами, выполняемыми внутри процесса, следуйте инструкциям из раздела Создание и регистрация фоновой задачи, выполняемой внутри процесса.
Чтобы быстро приступить к работе с фоновыми задачами, выполняемыми вне процесса, следуйте инструкциям из раздела Создание и регистрация фоновой задачи, выполняемой вне процесса.
Начиная c Windows 10, помещать приложение на экран блокировки, чтобы зарегистрировать фоновую задачу для него, больше не нужно.
Фоновые задачи для системных событий
Ваше приложение может отвечать на события, создаваемые системой, регистрируя фоновую задачу с помощью класса SystemTrigger. Оно может использовать любые из нижеперечисленных триггеров системных событий (определенных в SystemTriggerType).
InternetAvailable | Появляется доступ к Интернету. |
NetworkStateChange | Происходит изменение сети, такое как изменение стоимости или подключения. |
OnlineIdConnectedStateChange | ИД интернет-службы, связанный с изменением учетной записи. |
SmsReceived | Установленным устройством с высокоскоростным мобильным подключением получено новое SMS-сообщение. |
TimeZoneChange | В устройстве изменяется часовой пояс (например, когда система переводит часы на летнее время). |
Условия для фоновых задач
Добавив условие, вы сможете контролировать выполнение фоновой задачи даже после ее запуска. При активации фоновая задача не будет выполняться, пока не будут соблюдены все условия. Можно использовать следующие условия (представленные перечислением SystemConditionType).
InternetAvailable | Интернет должен быть доступен. |
InternetNotAvailable | Интернет должен быть недоступен. |
SessionConnected | Сеанс должен быть подключен. |
SessionDisconnected | Сеанс должен быть отключен. |
UserNotPresent | Пользователь должен отсутствовать. |
UserPresent | Пользователь должен присутствовать. |
Добавьте условие InternetAvailable в фоновую задачу BackgroundTaskBuilder.AddCondition, чтобы задержать активацию фоновой задачи до запуска сетевого стека. Это условие экономит энергию, так как фоновая задача не будет выполняться, пока сеть недоступна. Это условие не поддерживает активацию в режиме реального времени.
Если ваша фоновая задача требует подключения к сети, задайте условие IsNetworkRequested, чтобы обеспечить сохранность подключения к сети, пока выполняется фоновая задача. Это указывает инфраструктуре фоновых задач на необходимость поддержания соединения во время выполнения задачи, даже если устройство переходит в режим ожидания с подключением. Если ваша фоновая задача не задает условие IsNetworkRequested согласно приведенным здесь указаниям, эта фоновая задача не сможет получить доступ к сети в режиме ожидания с подключением (например, при выключении экрана телефона). Дополнительные сведения об условиях выполнения фоновых задач см. в разделе Указание условий выполнения фоновой задачи.
Требования к манифесту приложения
Перед тем как приложение сможет успешно зарегистрировать фоновую задачу, которая выполняется вне процесса, оно должно быть объявлено в манифесте приложения. Фоновые задачи, которые выполняются в том же процессе, что и приложение, в котором они размещены, не требуется объявлять в манифесте приложения. Узнать больше можно в разделе Объявление фоновых задач в манифесте приложения.
Фоновые задачи
Следующие триггеры реального времени можно использовать для выполнения облегченного пользовательского кода в фоновом режиме.
Канал управления | Фоновые задачи могут поддерживать подключение и получать сообщения по каналу управления, используя класс ControlChannelTrigger. Если приложение ожидает передачи данных из сокета, можно использовать посредник сокетов вместо ControlChannelTrigger. Узнать больше об использовании посредника сокетов можно в разделе SocketActivityTrigger. ControlChannelTrigger не поддерживается в Windows Phone. |
Таймер | Фоновые задачи могут выполняться через каждые 15 минут, и их можно настроить на выполнение в определенное время, используя TimeTrigger. См. также: Запуск фоновой задачи по таймеру. |
Push-уведомление | Фоновые задачи реагируют на PushNotificationTrigger, чтобы получать необработанные push-уведомления. |
Примечание.
Универсальные приложения для Windows должны вызвать RequestAccessAsync перед регистрацией любых типов фоновых триггеров.
Чтобы универсальное приложение для Windows продолжало правильно работать после выпуска обновления, необходимо вызвать метод RemoveAccess, а затем — метод RequestAccessAsync при запуске приложения после обновления. Дополнительные сведения см. в разделе Руководство по фоновым задачам.
Ограничения на количество экземпляров триггера: существуют ограничения на количество экземпляров некоторых триггеров, которые может зарегистрировать приложение. Приложение может зарегистрировать аппликатионтригжер, медиапроцессингтригжер и девицеусетригжер только один раз для каждого экземпляра приложения. Если приложение переходит за этот предел, регистрация вызовет исключение.
Триггеры системных событий
Перечисление SystemTriggerType представляет следующие триггеры системных событий:
UserPresent | Фоновая задача запускается в присутствии пользователя. |
UserAway | Фоновая задача запускается в отсутствие пользователя. |
ControlChannelReset | Фоновая задача запускается при сбросе канала управления. |
SessionConnected | Фоновая задача запускается при подключенном сеансе. |
Следующие триггеры системных событий сигнализируют о помещении приложения на экран блокировки или удалении приложения с экрана.
LockScreenApplicationAdded | На экран блокировки добавляется плитка приложения. |
LockScreenApplicationRemoved | С экрана блокировки удаляется плитка приложения. |
Ограничения на ресурсы фоновых задач
Фоновые задачи являются облегченными. Поддержание выполнения в фоновом режиме на минимальном уровне обеспечивает оптимальное взаимодействие с пользователем для приложений переднего плана и времени работы батареи. Для этого на ресурсы фоновых задач накладываются ограничения.
Фоновые задачи ограничены 30 секундами физического времени.
Ограничения на использование памяти
Из-за ограничений на ресурсы для устройств с небольшим объемом памяти фоновые задачи приложений могут иметь ограничение на использование памяти, определяющее максимальный объем памяти, который может использовать фоновая задача. Если фоновая задача попытается выполнить операцию, которая превысит это ограничение, операция завершится ошибкой и может вызвать исключение «Недостаточно памяти», которое задача сможет обработать. Если задача не обрабатывает исключение «Недостаточно памяти» или тип операции не вызывает такое исключение, задача будет немедленно остановлена.
Вы можете использовать API MemoryManager, чтобы запросить текущий объем и ограничение используемой памяти, а также чтобы отслеживать использование памяти фоновой задачей.
Ограничения «на устройство» для приложений с фоновыми задачами для устройств с небольшим объемом памяти
Для устройств с малым объемом памяти существует ограничение на количество приложений, которые устанавливаются на устройство и используют фоновые задачи одновременно. Если превысить это количество, произойдет сбой вызова RequestAccessAsync, необходимого для регистрации всех фоновых задач.
Экономия заряда аккумулятора
Если не добавить приложение в список исключений, чтобы оно могло продолжить выполнение фоновых задач и получать push-уведомления при включенной экономии заряда, фоновые задачи не будут запускаться, если устройство не подключено к внешнему источнику питания и заряд аккумулятора становится меньше определенного уровня. Но это не повлияет на возможность регистрации фоновых задач.
однако для корпоративных приложений и приложений, которые не будут опубликованы в Microsoft Store, см. статью запуск в фоновом режиме на неопределенное время , чтобы узнать, как использовать возможности фоновой задачи или расширенного сеанса выполнения в фоновом режиме на неопределенное время.
Ресурс фоновой задачи гарантирует связь в реальном времени
Чтобы исключить помехи для функций связи в реальном времени из-за выделения квот ресурсов, каждая выполняющаяся фоновая задача, использующая ControlChannelTrigger и PushNotificationTrigger, получает гарантированные объемы ресурсов ЦП. Квоты ресурсов остаются такими, как упоминалось выше, и сохраняются постоянными для этих фоновых задач.
Приложению не нужно специально что-то делать, чтобы получать гарантированные квоты ресурсов для фоновых задач ControlChannelTrigger и PushNotificationTrigger. Система всегда рассматривает их как критически важные фоновые задачи.
Триггер обслуживания
Задачи обслуживания выполняются только в том случае, если устройство подключено к сети переменного тока. См. также: Использование триггера обслуживания.
Фоновые задачи для датчиков и устройств
Ваше приложение может получать доступ к датчикам и периферийным устройствам из фоновой задачи с помощью класса DeviceUseTrigger. Этот триггер можно использовать для продолжительных операций, таких как синхронизация данных или мониторинг. В отличие от задач для системных событий задачу DeviceUseTrigger можно инициировать только во время работы приложения на переднем плане, и для нее невозможно установить какие-либо условия.
Триггеры DeviceUseTrigger и DeviceServicingTrigger невозможно использовать с фоновыми задачами, выполняемыми внутри процесса.
Некоторые критические операции с устройством, например длительные обновления встроенного ПО, не могут выполняться с помощью класса DeviceUseTrigger. Такие операции могут выполняться только на компьютере и только привилегированным приложением, которое использует DeviceServicingTrigger. Привилегированным называется приложение, которому изготовитель устройства разрешил выполнять эти операции. Метаданные устройства позволяют указать, какое приложение (при его наличии) было назначено в качестве привилегированного приложения на устройстве. дополнительные сведения см. в статье синхронизация устройств и обновление для Microsoft Store приложений для устройств .
Управление фоновыми задачами
Фоновые задачи могут передавать в приложение сообщения о ходе выполнения, завершении или отмене с помощью событий и локального хранилища. Кроме того, можно перехватывать исключения, поступающие от фоновой задачи, и управлять ее регистрацией в процессе обновления приложения. Дополнительные сведения см в разделе
Проверьте регистрацию вашей фоновой задачи во время запуска приложения. Убедитесь, что разгруппированные фоновые задачи вашего приложения присутствуют в BackgroundTaskBuilder.AllTasks. Повторно зарегистрируйте те, которые не отображаются. Отмените регистрацию всех задач, которые больше не нужны. Это гарантирует, что все регистрации фоновых задач являются актуальными при каждом запуске приложения.
Связанные темы
Концептуальное руководство по многозадачности в Windows 10
Руководство по фоновым задачам
- Руководство по работе с фоновыми задачами
- Доступ к датчикам и устройствам из фоновой задачи
- Создание и регистрация фоновой задачи, выполняемой внутри процесса
- Создание и регистрация внепроцессной фоновой задачи
- Преобразование фоновой задачи, выполняемой вне процесса, в фоновую задачу внутри процесса
- Отладка фоновой задачи
- Объявление фоновых задач в манифесте приложения
- Регистрация фоновых задач группы
- Обработка отмененной фоновой задачи
- Вызов событий приостановки, возобновления и фоновых событий в приложениях UWP (во время отладки)
- Отслеживание хода выполнения и завершения фоновых задач
- Воспроизведение мультимедиа в фоновом режиме
- Регистрация фоновой задачи
- Реагирование на системные события с помощью фоновых задач
- Запуск фоновой задачи по таймеру
- Запуск фоновой задачи при обновлении приложения UWP
- Выполнение в фоновом режиме в течение неограниченного срока
- Задание условий выполнения фоновой задачи
- Запуск фоновой задачи из приложения
- Обновление живой плитки из фоновой задачи
- Использование триггера обслуживания
Источник: learn.microsoft.com