EN JA
ABORT2(2)
ABORT2(2) FreeBSD System Calls Manual ABORT2(2)

名称

abort2診断でプロセスをアボートする

ライブラリ

Standard C Library (libc, -lc)

書式

#include < stdlib.h>

void
abort2( const char *why, int nargs, void **args);

解説

abort2() システムコールによって、プロセスは、kill されるか、または (引数で) 指定された診断メッセージをカーネルによって syslogd(8) デーモンに引き渡されます。

why 引数は、プログラムの終了の理由を指定する ヌル文字 で終了する文字列 (最大 128 文字) を指します。 args 配列は、 (カーネルの‘ %pprintf(9) 形式の) 数値でログ登録されるポインタを含んでいます。 nargs 引数は、 args (最大の 16) のポインタの数を指定します。

abort2() システムコールは、プロセスの継続が不可能であるか、または他の決定的な理由で望まれていないか、そして、通常の診断チャネルをメッセージが配信すると確信できない状況で使用するためのものです。

戻り値

abort2() 関数は、決して戻りません。

プロセスは、 SIGKILL が使用される場合に、 abort2() への引数が無効でないなら、 SIGABRT で kill されます。

使用例

#include <stdlib.h> 
 
if (weight_kg > max_load) { 
 void *ptrs[3]; 
 
 ptrs[0] = (void *)(intptr_t)weight_kg; 
 ptrs[1] = (void *)(intptr_t)max_load; 
 ptrs[2] = haystack; 
 abort2("Camel overloaded", 3, ptrs); 
}

関連項目

abort(3), exit(3)

歴史

abort2() システムコールは、 FreeBSD 7.0 ではじめて登場しました。

作者

abort2() システムコールは、 Poul-Henning Kamp <phk@FreeBSD.org>によって設計されました。それは Wojciech A. Koszek <dunstan@freebsd.czest.pl>によって実装されました。
September 30, 2006 FreeBSD