EXIT(2) FreeBSD システムコールマニュアル EXIT(2)
名称
_exit − 呼び出し元プロセスを終了する |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <unistd.h> void |
_exit(int status); |
解説 |
_exit() システムコールはプロセスを終了させ、以降のような結果をもたらしま す: |
• 呼び出し元プロセス内のすべての記述子が閉じられます。これには遅延が伴うことがあります。たとえば、出力がすべて出されてしまうのを待機することです。この状態のプロセスは既に死にかけているので、新たに kill はできません。
• 呼び出し元プロセスの親プロセスに、未解決の wait(2) 呼び出しがある場合 または SIGCHLD シグナルを捕捉した場合、呼び出し元プロセスの終了が親プ ロセスに通知され、 wait(2) で定義されたように status が設定されます。 • 呼び出し元プロセスに子プロセスが存在するなら、それらすべての子プロセ スの親プロセス ID は 1 に設定されます。初期化プロセス (intro(2) の 定 義セクションを参照) が、これらの各プロセスを継承します。 • プロセスの終了によっていずれかのプロセスグループが親のない子になる場 合 (通常はグループのメンバ全員に対する親が終了したため。 intro(2) の ‘‘親のないプロセスグループ (Orphaned Process Group)’’ を参照)、そして 親のないグループのメンバのいずれかが停止されている場合、その新たな親 のないプロセスグループのすべてのメンバに SIGHUP シグナルと SIGCONT シ グナルが送信されます。 • プロセスが制御プロセスの場合 (intro(2) を参照)、 SIGHUP シグナルが制 御端末のフォアグラウンドプロセスグループに送信され、制御端末への現在 のすべてのアクセスが無効にされます。 ほとんどの C プログラムはライブラリルーチン exit(3) を呼び出します。これ はバッファをフラッシュし、ストリームを閉じ、一時ファイルをアンリンクする などした後に _exit() を呼び出します。 戻り値 |
_exit() システムコールは決して戻りません。 |
関連項目
規格
_exit() システムコールは ISO/IEC 9945-1:1990 (‘‘POSIX.1’’) に適合していま す。 |
歴史
_exit() 関数は Version 7 AT&T UNIX で登場しました。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |