_exit(2) FreeBSD 一般コマンドマニュアル

_exit

前のページ 上に戻る 次のページ

_exit




書式

     #include <unistd.h>

     void
     _exit(int status);


解説

     _exit() 関数はプロセスを終了させ、以降のような結果をもたらします。:

     o   呼び出し元プロセス内のすべての記述子が閉じられます。これには遅延が伴
         うことがあります。たとえば、出力がすべて出されてしまうのを待機するこ
         とです。この状態のプロセスは既に死にかけているので、新たに kill はで
         きません。

     o   呼び出し元プロセスの親プロセスに、未解決の wait(2) 呼び出しがある場合
         または SIGCHLD シグナルを捕捉した場合、呼び出し元プロセスの終了が親プ
         ロセスに通知され、 wait(2) で定義されたように status が設定されます。

     o   呼び出し元プロセスに子プロセスが存在するなら、それらすべての子プロセ
         スの親プロセス ID は 1 に設定されます。初期化プロセス (intro(2) の 定
         義セクションを参照) が、これらの各プロセスを継承します。

     o   プロセスの終了によっていずれかのプロセスグループが親のない子になる場
         合 (通常はグループのメンバ全員に対する親が終了したため。 intro(2) の
         ``孤児になったプロセスグループ (Orphaned Process Group)'' を参照)、そ
         して親のないグループのメンバのいずれかが停止されている場合、その新た
         な親のないプロセスグループのすべてのメンバに SIGHUP シグナルと
         SIGCONT シグナルが送信されます。

     o   プロセスが制御プロセスの場合 (intro(2) を参照)、 SIGHUP シグナルが制
         御端末のフォアグラウンドプロセスグループに送信され、制御端末への現在
         のすべてのアクセスが無効にされます。

     ほとんどの C プログラムはライブラリルーチン exit(3) を呼び出します。これ
     はバッファをフラッシュし、ストリームを閉じ、一時ファイルをアンリンクする
     などした後に _exit() を呼び出します。


戻り値

     _exit() は戻りません。


関連項目

     fork(2), sigaction(2), wait(2), exit(3)


規格

     _exit() 関数は ISO/IEC 9945-1:1990 (``POSIX.1'') に準拠しています。


歴史

     _exit() 関数は Version 7 AT&T UNIX で登場しました。

FreeBSD 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス