У меня есть демон Python, который контролирует производительность машины во время выполнения другого программного обеспечения.Он в основном извлекает данные целевых процессов с помощью ps
и записывает их в CSV-файл, который будет отображаться при остановке демона.
Если демон работает в терминале в качестве процесса переднего плана, пользователь может остановитьэто с Ctrl + C , что вызовет исключение KeyboardInterrupt
.Я фиксирую это исключение и затем отображаю содержимое CSV.
Проблема возникает, когда мне нужно запустить демон в фоновом режиме с nohup myDaemon.py &
.Он работает нормально, так как генерирует CSV, но поскольку я не могу принудительно вызвать исключение KeyboardInterrupt
, CSV не отображаются автоматически, если я убиваю или останавливаю фоновый процесс другими методами, кроме Ctrl + C .
Чего я хочу избежать, так это того, что нужно перенести часть построения в отдельный скрипт и запустить его вручную после остановки демона.