#
5.2 プロセス制御

void `Py_FatalError`( | const char *message)

  致命的エラーメッセージ (fatal error message) を出力してプロセスを 強制終了 (kill) します。後始末処理は行われません。この関数は、Python インタプリタを使い続けるのが危険であるような状況が検出されたとき; 例えば、オブジェクト管理が崩壊していると思われるときにのみ、呼び出され るようにしなければなりません。Unixでは、標準 C ライブラリ関数 `abort()`を呼び出して core を生成しようと試みます。

void `Py_Exit`( | int status)

  現在のプロセスを終了 (exit) します。この関数は `Py_Finalize()`を呼び出し、 次いで標準 C ライブラリ関数 `exit(status)`を呼び出します。

int `Py_AtExit`( | void (*func) ())

  `Py_Finalize()`から呼び出される 後始末処理を行う関数 (cleanup function) を登録します。 後始末関数は引数無しで呼び出され、値を返しません。 最大で 32 の後始末処理関数を登録できます。 登録に成功すると、`Py_AtExit()` は `0` を返します; 失敗すると `-1` を返します。最後に登録した後始末処理関数から 先に呼び出されます。各関数は高々一度しか呼び出されません。 Python の内部的な終了処理は後始末処理関数より以前に完了している ので、func からはいかなる Python API も呼び出してはなりません。