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
Запускаем два процесса. Один ожидает нажатия клавиши "Пробел" для выключения программы.