python
August 5, 2023
Остановка процессов и завершение программы
'''
программа ожидает нажатия пробела, для завершения работы
'''
import multiprocessing
import os
import signal
#import sys
import keyboard
def main_process():
# Основной процесс
print("Основной процесс запущен")
while True:
# Ваш код основной логики здесь
pass
def daemon_process():
# Демон, ожидающий нажатия клавиши "пробел"
print("Демон запущен")
keyboard.wait("space")
# Отправляем сигнал остановки основному процессу
os.kill(os.getppid(), signal.SIGTERM)
#sys.exit() #завершает только текущий процесс
if __name__ == "__main__":
# Создаем первый демон
p1 = multiprocessing.Process(target=main_process)
p1.start()
# Создаем второй демон
p2 = multiprocessing.Process(target=daemon_process)
p2.start()
# Ожидаем завершения дочерних процессов
p1.join()
p2.joinЗапускаем два процесса. Один ожидает нажатия клавиши "Пробел" для выключения программы.