1

ユーザーが「CTRL+C」または「X」を使用すると関数を実行できますが、ユーザーが Windows のタスク マネージャーを使用してプログラムを強制終了しようとした場合、最後の関数を実行する方法はありますか? Python 3.3 と Windows 7 を使用しています。atexit,signal モジュールを試しましたが、動作しません。taskmgr を停止できませんか?

4

1 に答える 1

0

ええ、そう思います。

import signal
signal.signal(signal.SIGTERM, custom_func)

「Python Windows キャッチ プロセス終了」のグーグル検索後の詳細情報 http://danielkaes.wordpress.com/2009/06/04/how-to-catch-kill-events-with-python/

しかし、シグナルが kill-no-matter-what シグナルの場合、時間のかかる関数でその呼び出しを中断することはできません。なぜなら、それは unix での強制終了 -9 であり、何でもドロップするからです。プロセスの処理能力。私が間違っている場合は修正してください。ただし、強制されている場合、関数を中止または呼び出すことはできませんか?

于 2013-02-06T13:53:17.437 に答える