Man page - on_exit(3)

Packages contains this manual

Available languages:

en fr es cs ja ru ro de

Manual

ON_EXIT

名 前
書 式
説 明
返 り 値
属 性
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

on_exit - プ ロ セ ス が 正 常 に 終 了 し た 際 に 呼 ば れ る 関 数 を 登 録 す る

書 式

#include <stdlib.h>

int on_exit(void (* function )(int , void *), void * arg );

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 ( feature_test_macros (7) 参 照 ):

on_exit ():
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_BSD_SOURCE || _SVID_SOURCE

説 明

on_exit () 関 数 は 、 指 定 さ れ た 関 数 function を 、 プ ロ セ ス が 正 常 に 終 了 し た 際 に 呼 ば れ る 関 数 と し て 登 録 す る 。 正 常 な 終 了 と は 、 exit (3) ま た は プ ロ グ ラ ム の main () 関 数 の 中 の return 命 令 に よ る 終 了 で あ る 。 関 数 function に は 、 直 近 の exit (3) の 呼 び 出 し で 渡 さ れ た status 引 数 と on_exit () の arg 引 数 が 渡 さ れ る 。

同 じ 関 数 を 複 数 回 登 録 し て も よ い 。 登 録 さ れ た 関 数 は 登 録 1 回 に つ き 1 回 呼 び 出 さ れ る 。

fork (2) で 作 成 さ れ た 場 合 、 子 プ ロ セ ス は 親 プ ロ セ ス の 登 録 の コ ピ ー を 継 承 す る 。 exec (3) フ ァ ミ リ ー の 関 数 の 場 合 、 呼 び 出 し に 成 功 す る と 、 全 て の 登 録 が 削 除 さ れ る 。

返 り 値

on_exit () 関 数 は 、 成 功 し た ら 0 を 、 そ う で な け れ ば 0 以 外 を 返 す 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-13153-1.png

準 拠

こ の 関 数 は SunOS 4 由 来 で あ る が 、 glibc に も 存 在 す る 。 Solaris (SunOS 5) に は も は や 存 在 し な い 。 移 植 性 が 必 要 な ア プ リ ケ ー シ ョ ン で は こ の 関 数 の 使 用 は 避 け 、 代 わ り に 標 準 の atexit (3) を 使 う こ と 。

注 意

By the time function is executed, stack ( auto ) variables may already have gone out of scope. Therefore, arg should not be a pointer to a stack variable; it may however be a pointer to a heap variable or a global variable.

関 連 項 目

_exit (2), atexit (3), exit (3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。