Я сейчас пишу плавкий предохранитель, используя fuse-python. Он уже делает то, что должен. Однако после нескольких недель работы он становится заметно медленным. Поэтому я хотел профилировать это. Я знаю о нескольких моментах, где это можно оптимизировать. Но они не должны быть виновниками.
Однако fuse-python зависает в бесконечном цикле (см. строки 733 и 757 источника предохранителей ). Если я запускаю fuse в режиме отладки (используя переключатель -d
), он будет работать на переднем плане. Однако я не могу остановить это ни SIGINT
, ни CTRL+C
(что в любом случае одинаково).
Я пытался использовать модуль signal
для перехвата сигнала в главном потоке. Но это тоже не работает. Интересно, что как только я сбил процесс с SIGKILL
, я увидел KeyboardInterrupt
на stdout
. Кроме того, после SIGKILL
обработчик сигнала выполняется как ожидалось.
Это имеет последствия для профилирования. Поскольку процесс никогда не завершается нормально, cProfile
никогда не получает возможность сохранить файл статистики.
Есть идеи?