Windows 10: Каков жизненный цикл процесса при выходе из системы, переключении пользователей и изменении состояния питания (спящий режим, режим гибернации)?

245
init_js

У меня есть программная операция, которая запускается, когда пользователь вошел в систему, но она является длительной и неинтерактивной по своей природе и может быть выполнена в фоновом режиме. Я смущен жизненным циклом процесса в Windows.

Может ли любой пользовательский процесс надежно продолжить работу (в фоновом режиме) перед лицом:

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

Существуют программы, которые могут автоматически перезапускаться после перезагрузки / выключения питания (например, Edge повторно открывает свои вкладки после автоматического обновления программного обеспечения). Являются ли они специальными или просто обычными программами, подключаемыми к некоторому интерфейсу Power-Event?

0

1 ответ на вопрос

2
Appleoddity

Вы задаете несколько вопросов, которые не обязательно связаны между собой.

Пользовательские процессы запускаются как пользователь. Когда пользователь выходит из системы, все эти процессы завершаются.

В режиме ожидания / гибернации / блокировки пользователь не выходит из системы.

Некоторые приложения Windows сохраняют состояние и снова открываются после перезагрузки, что позволяет «возобновить» с того места, где вы остановились. Такие как вкладки браузера.

Приостановка виртуальных машин - это то же самое, что и спящий режим физической машины.

С помощью этой информации вы можете получить ответы на все ваши различные сценарии, о которых вы спрашивали.

Возможно, отсутствует часть, касающаяся переключения между учетными записями. Кажется, я вспоминаю времена, когда я мог удаленно подключаться к службам терминалов, а программы все еще были открыты. В игре несколько программных слоев, и я не очень уверен, как они подходят! (например, [события консоли] (https://docs.microsoft.com/en-us/windows/console/generateconsolectrlevent) и как они связаны с группами процессов). init_js 5 лет назад 0
Будут ли в режиме ожидания / гибернации / блокировки какой-либо специальный сигнал для приложения? init_js 5 лет назад 0