Submitted by: Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp> Reviewed by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
651 lines
17 KiB
Groff
651 lines
17 KiB
Groff
.\" Copyright (c) 1980, 1990, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94
|
|
.\" %FreeBSD: src/lib/libc/sys/sigaction.2,v 1.55 2004/07/03 22:30:09 ru Exp %
|
|
.\"
|
|
.\" 2001/01/01 horikawa@jp.FreeBSD.org
|
|
.\" sigvec.2 ¤ò¹¹¿·¤¹¤ë¾ì¹ç¤Ï¡¢¶¦ÄÌÉôʬ¤Î¿¤¤ sigaction.2 ¤âƱ»þ¤Ë¹¹¿·
|
|
.\" ¤·¤Æ¤¯¤À¤µ¤¤¡£
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd June 7, 2004
|
|
.Dt SIGACTION 2
|
|
.Os
|
|
.Sh ̾¾Î
|
|
.Nm sigaction
|
|
.Nd ¥½¥Õ¥È¥¦¥§¥¢¥·¥°¥Ê¥ëµ¡Ç½
|
|
.Sh ¥é¥¤¥Ö¥é¥ê
|
|
.Lb libc
|
|
.Sh ½ñ¼°
|
|
.In signal.h
|
|
.Bd -literal
|
|
struct sigaction {
|
|
union {
|
|
void (*__sa_handler)(int);
|
|
void (*__sa_sigaction)(int, struct __siginfo *, void *);
|
|
} __sigaction_u; /* ¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é */
|
|
int sa_flags; /* ¸å½Ò¤Î¥·¥°¥Ê¥ë¥ª¥×¥·¥ç¥ó»²¾È */
|
|
sigset_t sa_mask; /* ŬÍѤ¹¤ë¥·¥°¥Ê¥ë¥Þ¥¹¥¯ */
|
|
};
|
|
|
|
#define sa_handler __sigaction_u.__sa_handler
|
|
#define sa_sigaction __sigaction_u.__sa_sigaction
|
|
.Ed
|
|
.Ft int
|
|
.Fo sigaction
|
|
.Fa "int sig"
|
|
.Fa "const struct sigaction * restrict act"
|
|
.Fa "struct sigaction * restrict oact"
|
|
.Fc
|
|
.Sh ²òÀâ
|
|
¥·¥¹¥Æ¥à¤Ç¤Ï¥·¥°¥Ê¥ë¤Î½¸¹ç¤òÄêµÁ¤·¤Æ¤ª¤ê¡¢
|
|
¤³¤ì¤é¤Ï¥×¥í¥»¥¹¤ËÇÛ¿®¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
|
|
¥·¥°¥Ê¥ë¤ÎÇÛ¿®¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢³ä¹þ¤ß¤ÎȯÀ¸¤Ë»÷¤Æ¤¤¤Þ¤¹¡£
|
|
Ä̾ï¤Î¾ì¹ç¡¢¥·¥°¥Ê¥ë¤Î¤µ¤é¤Ê¤ëȯÀ¸¤Ï¥Ö¥í¥Ã¥¯¤µ¤ì¡¢
|
|
¸½ºß¤Î¥×¥í¥»¥¹¥³¥ó¥Æ¥¥¹¥È¤ÏÊݸ¤µ¤ì¤Æ¡¢¿·¤·¤¤¥×¥í¥»¥¹¥³¥ó¥Æ¥¥¹¥È¤¬
|
|
ºîÀ®¤µ¤ì¤Þ¤¹¡£
|
|
¥×¥í¥»¥¹¤Ï¡¢¥·¥°¥Ê¥ë¤ÎÇÛ¿®Àè
|
|
.Em handler
|
|
¤ò»ØÄꤹ¤ë¤³¤È¤â¤¢¤ì¤Ð¡¢¥·¥°¥Ê¥ë¤ò
|
|
.Em ̵»ë
|
|
¤¹¤ë¤³¤È¤ò»ØÄꤹ¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
|
|
¥·¥°¥Ê¥ë¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¡¢¥·¥¹¥Æ¥à¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥¯¥·¥ç¥ó¤ò¼è¤ë¤³¤È¤ò
|
|
»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
|
|
¥·¥°¥Ê¥ë¤¬
|
|
.Em ¥Ö¥í¥Ã¥¯
|
|
¤µ¤ì¤ë¤³¤È¤â¤¢¤ê¡¢¤½¤Î¾ì¹ç¡¢¥·¥°¥Ê¥ë¤ÎÇÛ¿®¤Ï¡¢
|
|
.Em ¥Ö¥í¥Ã¥¯¤¬²ò½ü
|
|
¤µ¤ì¤ë¤Þ¤Ç±ä´ü¤µ¤ì¤Þ¤¹¡£
|
|
ÇÛ¿®»þ¤Ë¼è¤ë¥¢¥¯¥·¥ç¥ó¤Ï¡¢ÇÛ¿®»þ¤Ë·è¤Þ¤ê¤Þ¤¹¡£
|
|
Ä̾ï¤Î¾ì¹ç¤Ï¡¢¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤¬¡¢¥×¥í¥»¥¹¤Î¸½¹Ô¥¹¥¿¥Ã¥¯¤Çưºî¤·¤Þ¤¹¡£
|
|
¤³¤ì¤Ï¥Ï¥ó¥É¥é¤´¤È¤ËÊѹ¹²Äǽ¤Ç¤¢¤ê¡¢Êѹ¹¤¹¤ì¤Ð¡¢¥·¥°¥Ê¥ë¤ÏÆÃ¼ì¤Ê
|
|
.Em ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯
|
|
¤Ç¼Â¹Ô²Äǽ¤Ç¤¹¡£
|
|
.Pp
|
|
Ä̾ï¤Î¾ì¹ç¡¢¥·¥°¥Ê¥ë¥ë¡¼¥Á¥ó¤Ï¡¢¸Æ¤Ó½Ð¤·¤Î¸¶°ø¤È¤Ê¤Ã¤¿¥·¥°¥Ê¥ë¤¬
|
|
¥Ö¥í¥Ã¥¯¤µ¤ì¤¿¾õÂÖ¤ÇÆ°ºî¤·¤Þ¤¹¤¬¡¢¤½¤Î¾¤Î¥·¥°¥Ê¥ë¤¬È¯À¸¤¹¤ë²ÄǽÀ¤Ï
|
|
¤¢¤ê¤Þ¤¹¡£
|
|
¥°¥í¡¼¥Ð¥ë¤Î
|
|
.Em ¥·¥°¥Ê¥ë¥Þ¥¹¥¯
|
|
¤Ë¤Ï¡¢¥×¥í¥»¥¹¤Ø¤ÎÇÛ¿®¤¬¸½ºß
|
|
¥Ö¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¥·¥°¥Ê¥ë¤Î½¸¹ç¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
¥×¥í¥»¥¹¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤Ï¡¢¿Æ¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤Ç½é´ü²½¤µ¤ì¤Þ¤¹ (Ä̾ï¤Ï¶õ)¡£
|
|
.Xr sigprocmask 2
|
|
¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¡¢¤Þ¤¿¤Ï¥·¥°¥Ê¥ë¤¬¥×¥í¥»¥¹¤ËÇÛ¿®¤µ¤ì¤¿¾ì¹ç¤Ë¡¢
|
|
¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤ÏÊѹ¹¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
¤¢¤ë¥·¥°¥Ê¥ë¤ÎÀ¸µ¯¾ò·ï¤¬¥×¥í¥»¥¹¤ÇȯÀ¸¤¹¤ë¤È¡¢¤½¤Î¥·¥°¥Ê¥ë¤¬¡¢
|
|
¥×¥í¥»¥¹¤ÇÊÝÎ±Ãæ¤Î¥·¥°¥Ê¥ë¤Î½¸¹ç¤ËÄɲ䵤ì¤Þ¤¹¡£
|
|
¤½¤Î¥·¥°¥Ê¥ë¤¬¥×¥í¥»¥¹¤Ç¸½ºß
|
|
.Em ¥Ö¥í¥Ã¥¯
|
|
¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥×¥í¥»¥¹¤ËÇÛ¿®¤µ¤ì¤Þ¤¹¡£
|
|
¥·¥°¥Ê¥ë¤Ï¡¢¥×¥í¥»¥¹¤¬¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ËÆþ¤Ã¤Æ¤¤¤ë´Ö¤Ë
|
|
(¥·¥¹¥Æ¥à¸Æ¤Ó½Ð¤·¡¢¥Ú¡¼¥¸¥¨¥é¡¼¤ä¥È¥é¥Ã¥×¡¢¥¯¥í¥Ã¥¯³ä¹þ¤ßÃæ¤Ê¤É¤Ë)
|
|
ÇÛ¿®¤µ¤ì¤Þ¤¹¡£
|
|
Ê£¿ô¤Î¥·¥°¥Ê¥ë¤ÎÇÛ¿®½àÈ÷¤¬Æ±»þ¤ËÀ°¤Ã¤¿¾ì¹ç¤Ï¡¢¥È¥é¥Ã¥×¤ÇÀ¸¤¸¤¿¥·¥°¥Ê¥ë¤¬
|
|
Àè¤ËÇÛ¿®¤µ¤ì¤Þ¤¹¡£
|
|
¤½¤Î¾¤Î¥·¥°¥Ê¥ë¤Ï¡¢¤½¤ì¤¾¤ì¤¬Á°¤Î¥·¥°¥Ê¥ë¤Î¥Ï¥ó¥É¥é¤ËÂФ·¡¢
|
|
ºÇ½é¤ÎÌ¿Îá¤ÎÁ°¤Ë³ä¤ê¹þ¤ó¤À¾õÂÖ¤ÇÆ±»þ¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£
|
|
ÊÝα¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥·¥°¥Ê¥ë¤Î½¸¹ç¤Ï¡¢
|
|
.Xr sigpending 2
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÇÊÖ¤µ¤ì¤Þ¤¹¡£
|
|
Ê᪤µ¤ì¤¿¥·¥°¥Ê¥ë¤¬ÇÛ¿®¤µ¤ì¤ë¤È¡¢¥×¥í¥»¥¹¤Î¸½ºß¤Î
|
|
¾õÂÖ¤¬Êݸ¤µ¤ì¡¢¿·¤·¤¤¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤¬°Ê²¼¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë»»½Ð¤µ¤ì¤Æ¡¢
|
|
¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
|
|
¥Ï¥ó¥É¥é¤Î¸Æ¤Ó½Ð¤·¤Ï¡¢
|
|
¥·¥°¥Ê¥ë½èÍý¥ë¡¼¥Á¥ó¤¬Àµ¾ï¤ËÌá¤Ã¤¿¾ì¹ç¤Ë¡¢¥×¥í¥»¥¹¤¬¥·¥°¥Ê¥ëÇÛ¿®Á°¤Î
|
|
¥³¥ó¥Æ¥¥¹¥È¤Ç¼Â¹Ô¤òºÆ³«¤¹¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
|
|
¥×¥í¥»¥¹¤¬Ê̤Υ³¥ó¥Æ¥¥¹¥È¤Ç¤ÎºÆ³«¤ò˾¤à¾ì¹ç¤Ï¡¢
|
|
Á°¤Î¥³¥ó¥Æ¥¥¹¥È¤½¤Î¤â¤Î¤ò¼«Ê¬¼«¿È¤Ç²óÉü¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
|
|
.Pp
|
|
¥·¥°¥Ê¥ë¤¬¥×¥í¥»¥¹¤ËÇÛ¿®¤µ¤ì¤ë¤È¡¢¥×¥í¥»¥¹¤Î
|
|
¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Î¼Â¹Ô¤¬Â³¤¯´Ö (¤Þ¤¿¤Ï
|
|
.Xr sigprocmask 2
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤Þ¤Ç)¡¢¿·¤·¤¤¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤¬ÀßÃÖ¤µ¤ì¤Þ¤¹¡£
|
|
¤³¤Î¥Þ¥¹¥¯¤Ï¡¢¸½ºß¤Î¥·¥°¥Ê¥ë¥Þ¥¹¥¯½¸¹ç¡¢ÇÛ¿®¤µ¤ì¤ë¥·¥°¥Ê¥ë¡¢
|
|
¸Æ¤Ó½Ð¤µ¤ì¤ë¥Ï¥ó¥É¥é¤Ë´ØÏ¢¤·¤¿¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤ÎϽ¸¹ç¤ò¼è¤Ã¤Æ·ÁÀ®¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
.Fn sigaction
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢
|
|
.Fa sig
|
|
¤Ç»ØÄꤷ¤¿¥·¥°¥Ê¥ë¤Î¥¢¥¯¥·¥ç¥ó¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£
|
|
.Fa act
|
|
¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¥¢¥¯¥·¥ç¥ó
|
|
.Dv ( SIG_DFL ,
|
|
.Dv SIG_IGN
|
|
¤«¥Ï¥ó¥É¥é¥ë¡¼¥Á¥ó)¡¢¤ª¤è¤Ó»ØÄꤵ¤ì¤¿¥·¥°¥Ê¥ë¤ÎÇÛ¿®»þ¤Ë
|
|
»ÈÍѤ¹¤ë¥Þ¥¹¥¯¤¬»ØÄꤵ¤ì¤Þ¤¹¡£
|
|
.Fa oact
|
|
¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥·¥°¥Ê¥ë¤Î¤½¤ì¤Þ¤Ç¤Î½èÍý¾ðÊ󤬥桼¥¶¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤¬ÀßÃÖ¤µ¤ì¤ë¤È¡¢Ä̾ï¤Î¾ì¹ç¤ÏÊ̤Î
|
|
.Fn sigaction
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò¸Æ¤Ó½Ð¤¹¤«
|
|
.Xr execve 2
|
|
¤ò¼Â¹Ô¤¹¤ë¤Þ¤Ç¡¢¤½¤Î¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ÏÀßÃÖ¤µ¤ì¤¿¤Þ¤Þ¤Ç¤¹¡£
|
|
.Va sa_handler
|
|
¤ò
|
|
.Dv SIG_DFL
|
|
¤ËÀßÄꤹ¤ë¤³¤È¤Ç¡¢
|
|
¥·¥°¥Ê¥ë¤´¤È¤Ë¸Çͤʥǥե©¥ë¥È¥¢¥¯¥·¥ç¥ó¤Ë¥ê¥»¥Ã¥È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
|
|
¥Ç¥Õ¥©¥ë¥È¤È¤Ï¡¢¥×¥í¥»¥¹¤Î½ªÎ» (¥³¥¢¥À¥ó¥×¤¬¼è¤é¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹)¡¢
|
|
¥¢¥¯¥·¥ç¥ó¤Ê¤·¡¢¥×¥í¥»¥¹¤ÎÄä»ß¡¢¥×¥í¥»¥¹¤Î·Ñ³¤Ç¤¹¡£
|
|
¤½¤ì¤¾¤ì¤Î¥·¥°¥Ê¥ë¤Î¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
|
|
²¼µ¤Î¥·¥°¥Ê¥ë¥ê¥¹¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
|
|
.Va sa_handler
|
|
¤¬
|
|
.Dv SIG_DFL
|
|
¤Ç¤¢¤ë¾ì¹ç¡¢¥·¥°¥Ê¥ë¤Î¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥·¥ç¥ó¤Ï¥·¥°¥Ê¥ë¤ÎÇË´þ¤Ë¤Ê¤ê¤Þ¤¹¡£
|
|
¤Þ¤¿¡¢¥·¥°¥Ê¥ë¤¬ÊÝα¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¥·¥°¥Ê¥ë¤¬¥Þ¥¹¥¯¤µ¤ì¤Æ¤¤¤Æ¤â
|
|
ÊÝÎ±Ãæ¤Î¥·¥°¥Ê¥ë¤ÏÇË´þ¤µ¤ì¤Þ¤¹¡£
|
|
.Va sa_handler
|
|
¤ò
|
|
.Dv SIG_IGN
|
|
¤ËÀßÄꤹ¤ë¤È¡¢¸½ºß¤Î¥·¥°¥Ê¥ë¼ÂÂΤÈÊÝÎ±Ãæ¤Î¥·¥°¥Ê¥ë¼ÂÂΤÏ̵»ë¤µ¤ì¤Æ
|
|
ÇË´þ¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
¥ª¥×¥·¥ç¥ó¤Ï¡¢
|
|
.Va sa_flags
|
|
¤òÀßÄꤹ¤ë¤³¤È¤Ç»ØÄê¤Ç¤¤Þ¤¹¡£
|
|
¤½¤ì¤¾¤ì¤Î¥Ó¥Ã¥È¤Î°ÕÌ£¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹:
|
|
.Bl -tag -offset indent -width SA_RESETHANDXX
|
|
.It Dv SA_NOCLDSTOP
|
|
.Dv SIGCHLD
|
|
¥·¥°¥Ê¥ë¤Î¼õ¿®´Ø¿ô¤òÀßÃÖ¤¹¤ë¾ì¹ç¤Ë¤³¤Î¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤È¡¢
|
|
»Ò¥×¥í¥»¥¹¤¬Ää»ß¤·¤¿¤È¤¤Ç¤Ï¤Ê¤¯¡¢»Ò¥×¥í¥»¥¹¤¬½ªÎ»¤¹¤ë¤È¤¤Ë¤Î¤ß¡¢
|
|
.Dv SIGCHLD
|
|
¥·¥°¥Ê¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
|
|
.It SA_NOCLDWAIT
|
|
.Dv SIGCHLD
|
|
¥·¥°¥Ê¥ë¤Ç
|
|
.Fn sigaction
|
|
¤ò¸Æ¤Ó½Ð¤¹¾ì¹ç¤Ë¤³¤Î¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤È¡¢¥·¥¹¥Æ¥à¤Ï¡¢¸Æ¤Ó½Ð¤·Â¦¥×¥í¥»¥¹¤Î
|
|
»Ò¥×¥í¥»¥¹¤¬½ªÎ»¤·¤¿¤È¤¤Ë¥¾¥ó¥Ó¥×¥í¥»¥¹¤òºîÀ®¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
|
|
¤½¤Î¤¢¤È¡¢¸Æ¤Ó½Ð¤·Â¦¥×¥í¥»¥¹¤¬
|
|
.Xr wait 2
|
|
(¤«¤½¤ì¤ËÁêÅö¤¹¤ë´Ø¿ô) ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¸Æ¤Ó½Ð¤·Â¦¥×¥í¥»¥¹¤Î¤¹¤Ù¤Æ
|
|
¤Î»Ò¥×¥í¥»¥¹¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¥Ö¥í¥Ã¥¯¤·¡¢¼¡¤Ë
|
|
.Va errno
|
|
¤ò
|
|
.Er ECHILD
|
|
¤ËÀßÄꤷ¤Æ \-1 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.Dv SIGCHLD
|
|
¤Î¤¿¤á¤Î
|
|
.Va sa_handler
|
|
¤Ë
|
|
.Dv SIG_IGN
|
|
¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
|
|
¥¾¥ó¥Ó¤ÎºîÀ®¤òÈò¤±¤ëƱ¤¸¸ú²Ì¤òÆÀ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
|
|
.It Dv SA_ONSTACK
|
|
¤³¤Î¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤È¡¢¥·¥¹¥Æ¥à¤Ï¡¢
|
|
.Xr sigaltstack 2
|
|
¤Ç»ØÄꤵ¤ì¤¿
|
|
.Em ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯
|
|
¤Î¾å¤Ç¡¢¥×¥í¥»¥¹¤Ë¥·¥°¥Ê¥ë¤òÇÛ¿®¤·¤Þ¤¹¡£
|
|
.It Dv SA_NODEFER
|
|
¤³¤Î¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤È¡¢ÇÛ¿®ºÑ¤ß¥·¥°¥Ê¥ë¤Î¤µ¤é¤Ê¤ëȯÀ¸¤¬¡¢
|
|
¥Ï¥ó¥É¥é¤Î¼Â¹ÔÃæ¤Ë¥Þ¥¹¥¯¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
|
|
.It Dv SA_RESETHAND
|
|
¤³¤Î¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤È¡¢¥·¥°¥Ê¥ë¤¬ÇÛ¿®¤µ¤ì¤¿½Ö´Ö¤Ë¡¢¥Ï¥ó¥É¥é¤¬
|
|
.Dv SIG_DFL
|
|
¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
|
|
.It Dv SA_RESTART
|
|
²¼¤ÎÃÊÍî¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
|
|
.It Dv SA_SIGINFO
|
|
¤³¤Î¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ï¥ó¥É¥é´Ø¿ô¤Ï¡¢
|
|
.Vt "struct sigaction"
|
|
¹½Â¤ÂΤÎ
|
|
.Va sa_sigaction
|
|
¥á¥ó¥Ð¤¬»Ø¤¹¤â¤Î¤È¸«¤Ê¤·¤Þ¤¹¡£
|
|
¥Ï¥ó¥É¥é´Ø¿ô¤Ï¡¢Àè¤Ë¼¨¤·¤¿¥×¥í¥È¥¿¥¤¥×¤â¤·¤¯¤Ï¸å¤Ç¼¨¤¹
|
|
.Sx »ÈÍÑÎã
|
|
¤Ë°ìÃפ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
|
|
¤³¤Î¥Ó¥Ã¥È¤Ï¡¢
|
|
.Dv SIG_DFL
|
|
¤â¤·¤¯¤Ï
|
|
.Dv SIG_IGN
|
|
¤ò³ä¤êÅö¤Æ¤ë»þ¤Ë¤ÏÀßÄꤷ¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
|
|
.El
|
|
.Pp
|
|
¼¡¤Ëµó¤²¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¼Â¹ÔÃæ¤Ë¥·¥°¥Ê¥ë¤¬Ê᪤µ¤ì¤ë¤È¡¢
|
|
¤½¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¸Æ¤Ó½Ð¤·¤Ï¡¢
|
|
¥¨¥é¡¼
|
|
.Er EINTR
|
|
¤Ç¶¯À©½ªÎ»¤µ¤ì¤ë¤«¡¢Í×µá¤è¤êû¤¤¥Ç¡¼¥¿Å¾Á÷¤ÇÌá¤ë¤«¡¢¤Þ¤¿¤ÏºÆ³«¤µ¤ì¤Þ¤¹¡£
|
|
ÊÝÎ±Ãæ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎºÆ³«¤Ï¡¢
|
|
.Va sa_flags
|
|
¤Ç
|
|
.Dv SA_RESTART
|
|
¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤³¤È¤ÇÍ×µá¤Ç¤¤Þ¤¹¡£
|
|
±Æ¶Á¤ò¼õ¤±¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢
|
|
ÄÌ¿®¥Á¥ã¥Í¥ë¤«ÃÙ¤¤¥Ç¥Ð¥¤¥¹ (üËö¤Ê¤É¡¢Ä̾ï¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¤¤â¤Î) ¤ËÂФ¹¤ë
|
|
.Xr open 2 ,
|
|
.Xr read 2 ,
|
|
.Xr write 2 ,
|
|
.Xr sendto 2 ,
|
|
.Xr recvfrom 2 ,
|
|
.Xr sendmsg 2 ,
|
|
.Xr recvmsg 2
|
|
¤È
|
|
.Xr wait 2 ,
|
|
.Xr ioctl 2
|
|
¤Ç¤¹¡£
|
|
¤·¤«¤·¡¢¤¹¤Ç¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÏºÆ³«¤µ¤ì¤º¡¢
|
|
ÉôʬŪ¤Ê½èÍýÀ®¸ù¤Î·ë²Ì (û¤¤ÆÉ¼è¤ê¥«¥¦¥ó¥È¤Ê¤É) ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.Pp
|
|
.Xr fork 2
|
|
¤«
|
|
.Xr vfork 2
|
|
¤Î¸å¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥·¥°¥Ê¥ë¡¢¥·¥°¥Ê¥ë¥Þ¥¹¥¯¡¢¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¡¢
|
|
ºÆ³«¥Õ¥é¥°¡¢³ä¹þ¤ß¥Õ¥é¥°¤¬»Ò¥×¥í¥»¥¹¤Ë·Ñ¾µ¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
.Xr execve 2
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢Ê᪤µ¤ì¤Æ¤¤¤¿¤¹¤Ù¤Æ¤Î¥·¥°¥Ê¥ë¤Î¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥·¥ç¥ó¤ò
|
|
¸µ¤ËÌᤷ¡¢¤¹¤Ù¤Æ¤Î¥·¥°¥Ê¥ë¤ò¥æ¡¼¥¶¥¹¥¿¥Ã¥¯¤Ç¼õ¿®¤µ¤ì¤ë¤è¤¦¤Ë¥ê¥»¥Ã¥È¤·¤Þ¤¹¡£
|
|
̵»ë¤µ¤ì¤¿¥·¥°¥Ê¥ë¤Ï̵»ë¤µ¤ì¤¿¤Þ¤Þ¤Ç¤¹¡£
|
|
¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤ÏƱ¤¸¾õÂ֤ΤޤޤǤ¹¡£
|
|
ÊÝÎ±Ãæ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤òºÆ³«¤¹¤ëÀßÄê¤Î¥·¥°¥Ê¥ë¤Ï¡¢¤½¤ÎºÆ³«¤ÎÀßÄê¤Î¤Þ¤Þ¤Ç¤¹¡£
|
|
.Pp
|
|
°Ê²¼¤Ï¤¹¤Ù¤Æ¤Î¥·¥°¥Ê¥ë¤Î¥ê¥¹¥È¤Ç¤¹¡£
|
|
̾¾Î¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë
|
|
.In signal.h
|
|
¤Ë¤¢¤ë¤â¤Î¤ÈƱ¤¸¤Ç¤¹:
|
|
.Bl -column SIGVTALARMXX "create core imagexxx"
|
|
.It Sy "̾¾Î ¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥·¥ç¥ó ÀâÌÀ"
|
|
.It Dv SIGHUP No " ¥×¥í¥»¥¹¤Î½ªÎ»" " üËö¥é¥¤¥ó¤Î¥Ï¥ó¥°¥¢¥Ã¥×"
|
|
.It Dv SIGINT No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ¥×¥í¥°¥é¥à¤Î³ä¹þ¤ß"
|
|
.It Dv SIGQUIT No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" " ¥×¥í¥°¥é¥à¤ÎÃæÃǽªÎ»"
|
|
.It Dv SIGILL No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" " ÉÔÀµ¤ÊÌ¿Îá"
|
|
.It Dv SIGTRAP No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" " ¥È¥é¥Ã¥×¤Î¥È¥ì¡¼¥¹"
|
|
.It Dv SIGABRT No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" Ta Xr abort 3
|
|
¤Î¸Æ¤Ó½Ð¤· (°ÊÁ°¤Î
|
|
.Dv SIGIOT )
|
|
.It Dv SIGEMT No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" " Ì¿Îá¼Â¹Ô¤Î¥¨¥ß¥å¥ì¡¼¥È"
|
|
.It Dv SIGFPE No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" " ÉâÆ°¾®¿ôÎã³°"
|
|
.It Dv SIGKILL No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ¥×¥í¥°¥é¥à¤Î¶¯À©½ªÎ»"
|
|
.It Dv SIGBUS No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" " ¥Ð¥¹¥¨¥é¡¼"
|
|
.It Dv SIGSEGV No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" " ¥»¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó°ãÈ¿"
|
|
.It Dv SIGSYS No " ¥³¥¢¥¤¥á¡¼¥¸¤ÎºîÀ®" " ¸ºß¤·¤Ê¤¤¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¸Æ¤Ó½Ð¤·"
|
|
.It Dv SIGPIPE No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ÆÉ¼è¤ê¦¤¬¤Ê¤¤¥Ñ¥¤¥×¤Ø¤Î½ñ¹þ¤ß"
|
|
.It Dv SIGALRM No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ¥ê¥¢¥ë¥¿¥¤¥à¥¿¥¤¥Þ¤ÎËþλ"
|
|
.It Dv SIGTERM No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ¥½¥Õ¥È¥¦¥§¥¢½ªÎ»¥·¥°¥Ê¥ë"
|
|
.It Dv SIGURG No " ¥·¥°¥Ê¥ë¤ÎÇË´þ" " ¶ÛµÞ¾õ¶·¤¬¥½¥±¥Ã¥È¤ËȯÀ¸"
|
|
.It Dv SIGSTOP No " ¥×¥í¥»¥¹¤ÎÄä»ß" " Ää»ß (Ê᪤â̵»ë¤â¤Ç¤¤Þ¤»¤ó)"
|
|
.It Dv SIGTSTP No " ¥×¥í¥»¥¹¤ÎÄä»ß" " ¥¡¼¥Ü¡¼¥É¤«¤éÀ¸À®¤µ¤ì¤¿Ää»ß¥·¥°¥Ê¥ë"
|
|
.It Dv SIGCONT No " ¥·¥°¥Ê¥ë¤ÎÇË´þ" " Ää»ß¸å¤Î·Ñ³"
|
|
.It Dv SIGCHLD No " ¥·¥°¥Ê¥ë¤ÎÇË´þ" " »Ò¥×¥í¥»¥¹¤Î¾õÂÖÊѲ½"
|
|
.It Dv SIGTTIN No " ¥×¥í¥»¥¹¤ÎÄä»ß" " ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥×¥í¥»¥¹¤¬À©¸æÃ¼Ëö¤«¤éÆÉ¤ß¼è¤í¤¦¤È¤·¤¿"
|
|
.It Dv SIGTTOU No " ¥×¥í¥»¥¹¤ÎÄä»ß" " ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥×¥í¥»¥¹¤¬À©¸æÃ¼Ëö¤Ë½ñ¤¹þ¤â¤¦¤È¤·¤¿"
|
|
.It Dv SIGIO No " ¥·¥°¥Ê¥ë¤ÎÇË´þ" " µ½Ò»Ò¤Ø¤Î "
|
|
.Tn I/O
|
|
²Äǽ (
|
|
.Xr fcntl 2
|
|
»²¾È)
|
|
.It Dv SIGXCPU No " ¥×¥í¥»¥¹¤Î½ªÎ»" " cpu À©¸Â»þ´Ö¤ÎͲá ("
|
|
.Xr setrlimit 2
|
|
»²¾È)
|
|
.It Dv SIGXFSZ No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ¥Õ¥¡¥¤¥ë¥µ¥¤¥ºÀ©¸Â¤ÎͲá ("
|
|
.Xr setrlimit 2
|
|
»²¾È)
|
|
.It Dv SIGVTALRM No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ²¾ÁÛ»þ´Ö¥¢¥é¡¼¥à ("
|
|
.Xr setitimer 2
|
|
»²¾È)
|
|
.It Dv SIGPROF No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ¥×¥í¥Õ¥¡¥¤¥ê¥ó¥°¥¿¥¤¥Þ¥¢¥é¡¼¥à (
|
|
.Xr setitimer 2
|
|
»²¾È)
|
|
.It Dv SIGWINCH No " ¥·¥°¥Ê¥ë¤ÎÇË´þ" " ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤ÎÊѲ½"
|
|
.It Dv SIGINFO No " ¥·¥°¥Ê¥ë¤ÎÇË´þ" " ¥¡¼¥Ü¡¼¥É¤«¤é¤Î¥¹¥Æ¡¼¥¿¥¹Í×µá"
|
|
.It Dv SIGUSR1 No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ¥æ¡¼¥¶ÄêµÁ¥·¥°¥Ê¥ë 1"
|
|
.It Dv SIGUSR2 No " ¥×¥í¥»¥¹¤Î½ªÎ»" " ¥æ¡¼¥¶ÄêµÁ¥·¥°¥Ê¥ë 2"
|
|
.El
|
|
.Sh Ãí
|
|
.Fa act
|
|
¤Ë»ØÄꤹ¤ë
|
|
.Va sa_mask
|
|
¥Õ¥£¡¼¥ë¥É¤Ç¤Ï¡¢
|
|
.Dv SIGKILL
|
|
¤ä
|
|
.Dv SIGSTOP
|
|
¤ò¥Ö¥í¥Ã¥¯¤Ç¤¤Þ¤»¤ó¡£
|
|
¥Ö¥í¥Ã¥¯¤·¤è¤¦¤È¤·¤Æ¤â̵»ë¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
°Ê²¼¤Î´Ø¿ô¤Ï¡¢ºÆÆþŪ¤Ç¤¢¤ë¤«¥·¥°¥Ê¥ë¤Ç³ä¤ê¹þ¤Þ¤ì¤ë¤³¤È¤¬¤Ê¤¤¤«¤Î¤É¤Á¤é¤«¤Ç¡¢
|
|
È󯱴ü¥·¥°¥Ê¥ë¤Ç¤â°ÂÁ´¤Ç¤¹¡£
|
|
¤³¤Î¤¿¤á¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥·¥°¥Ê¥ë¼õ¿®´Ø¿ô¤«¤éÀ©¸Â¤Ê¤¯¸Æ¤Ó½Ð¤»¤Þ¤¹:
|
|
.Pp
|
|
¥Ù¡¼¥¹¥¤¥ó¥¿¥Õ¥§¡¼¥¹
|
|
.Pp
|
|
.Fn _exit ,
|
|
.Fn access ,
|
|
.Fn alarm ,
|
|
.Fn cfgetispeed ,
|
|
.Fn cfgetospeed ,
|
|
.Fn cfsetispeed ,
|
|
.Fn cfsetospeed ,
|
|
.Fn chdir ,
|
|
.Fn chmod ,
|
|
.Fn chown ,
|
|
.Fn close ,
|
|
.Fn creat ,
|
|
.Fn dup ,
|
|
.Fn dup2 ,
|
|
.Fn execle ,
|
|
.Fn execve ,
|
|
.Fn fcntl ,
|
|
.Fn fork ,
|
|
.Fn fpathconf ,
|
|
.Fn fstat ,
|
|
.Fn fsync ,
|
|
.Fn getegid ,
|
|
.Fn geteuid ,
|
|
.Fn getgid ,
|
|
.Fn getgroups ,
|
|
.Fn getpgrp ,
|
|
.Fn getpid ,
|
|
.Fn getppid ,
|
|
.Fn getuid ,
|
|
.Fn kill ,
|
|
.Fn link ,
|
|
.Fn lseek ,
|
|
.Fn mkdir ,
|
|
.Fn mkfifo ,
|
|
.Fn open ,
|
|
.Fn pathconf ,
|
|
.Fn pause ,
|
|
.Fn pipe ,
|
|
.Fn raise ,
|
|
.Fn read ,
|
|
.Fn rename ,
|
|
.Fn rmdir ,
|
|
.Fn setgid ,
|
|
.Fn setpgid ,
|
|
.Fn setsid ,
|
|
.Fn setuid ,
|
|
.Fn sigaction ,
|
|
.Fn sigaddset ,
|
|
.Fn sigdelset ,
|
|
.Fn sigemptyset ,
|
|
.Fn sigfillset ,
|
|
.Fn sigismember ,
|
|
.Fn signal ,
|
|
.Fn sigpending ,
|
|
.Fn sigprocmask ,
|
|
.Fn sigsuspend ,
|
|
.Fn sleep ,
|
|
.Fn stat ,
|
|
.Fn sysconf ,
|
|
.Fn tcdrain ,
|
|
.Fn tcflow ,
|
|
.Fn tcflush ,
|
|
.Fn tcgetattr ,
|
|
.Fn tcgetpgrp ,
|
|
.Fn tcsendbreak ,
|
|
.Fn tcsetattr ,
|
|
.Fn tcsetpgrp ,
|
|
.Fn time ,
|
|
.Fn times ,
|
|
.Fn umask ,
|
|
.Fn uname ,
|
|
.Fn unlink ,
|
|
.Fn utime ,
|
|
.Fn wait ,
|
|
.Fn waitpid ,
|
|
.Fn write
|
|
.Pp
|
|
¥ê¥¢¥ë¥¿¥¤¥à¥¤¥ó¥¿¥Õ¥§¡¼¥¹
|
|
.Pp
|
|
.Fn aio_error ,
|
|
.Fn clock_gettime ,
|
|
.Fn sigpause ,
|
|
.Fn timer_getoverrun ,
|
|
.Fn aio_return ,
|
|
.Fn fdatasync ,
|
|
.Fn sigqueue ,
|
|
.Fn timer_gettime ,
|
|
.Fn aio_suspend ,
|
|
.Fn sem_post ,
|
|
.Fn sigset ,
|
|
.Fn timer_settime
|
|
.Pp
|
|
.Tn ANSI C
|
|
¥¤¥ó¥¿¥Õ¥§¡¼¥¹
|
|
.Pp
|
|
.Fn strcpy ,
|
|
.Fn strcat ,
|
|
.Fn strncpy ,
|
|
.Fn strncat
|
|
¤½¤·¤ÆÂ¿Ê¬Â¾¤Ë¤â¤¤¤¯¤Ä¤«
|
|
.Pp
|
|
³ÈÄ¥¥¤¥ó¥¿¥Õ¥§¡¼¥¹
|
|
.Pp
|
|
.Fn strlcpy ,
|
|
.Fn strlcat
|
|
.Pp
|
|
¾å¤Î¥ê¥¹¥È¤ËµºÜ¤µ¤ì¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î´Ø¿ô¤Ï¡¢¥·¥°¥Ê¥ë¤Ë´Ø¤·¤Æ°ÂÁ´¤Ç¤Ê¤¤
|
|
¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£
|
|
¤Ä¤Þ¤ê¡¢¤½¤Î¤è¤¦¤Ê´Ø¿ô¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¤¤Îưºî¤Ï¡¢
|
|
̤ÄêµÁ¤Ç¤¹¡£
|
|
¤·¤«¤·°ìÈÌŪ¤Ë¡¢¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ï¥Õ¥é¥°¤òÀßÄꤹ¤ë°Ê¾å¤Î¤³¤È¤Ï
|
|
¤¢¤Þ¤ê¤¹¤ë¤Ù¤¤Ç¤Ï¤Ê¤¯¡¢¤½¤ì°Ê³°¤Î¥¢¥¯¥·¥ç¥ó¤Ï°ÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
|
|
.Pp
|
|
¤Þ¤¿¡¢Âç°èÊÑ¿ô
|
|
.Va errno
|
|
¤Î¥³¥Ô¡¼¤òºîÀ®¤·¡¢¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤«¤éÌá¤ëÁ°¤Ë¤½¤ÎÃͤòÌ᤹¤è¤¦¤Ë
|
|
¤¹¤ë¤Î¤Ï¤è¤¤¤³¤È¤Ç¤¹¡£
|
|
¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ÎÆâÉô¤«¤é¸Æ¤Ð¤ì¤¿´Ø¿ô¤Ë¤è¤Ã¤Æ
|
|
.Va errno
|
|
¤¬ÀßÄꤵ¤ì¤Æ¤·¤Þ¤¦¤È¤¤¤¦ÉûºîÍѤòËɤ°¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
|
|
.Sh Ìá¤êÃÍ
|
|
.Rv -std sigaction
|
|
.Sh »ÈÍÑÎã
|
|
¥Ï¥ó¥É¥é¤¬°ìÃפ¹¤ë²ÄǽÀ¤Î¤¢¤ë¥×¥í¥È¥¿¥¤¥×¤Ï 3 ¤Ä¤¢¤ê¤Þ¤¹:
|
|
.Bl -tag -offset indent -width short
|
|
.It Tn ANSI C:
|
|
.Ft void
|
|
.Fn handler int ;
|
|
.It ÅÁÅýŪ¤Ê BSD ¥¹¥¿¥¤¥ë:
|
|
.Ft void
|
|
.Fn handler int "int code" "struct sigcontext *scp" ;
|
|
.It Tn POSIX ¤Î Dv SA_SIGINFO:
|
|
.Ft void
|
|
.Fn handler int "siginfo_t *info" "ucontext_t *uap" ;
|
|
.El
|
|
.Pp
|
|
.Va sa_flags
|
|
¥Õ¥é¥°Ãæ¤Ç
|
|
.Dv SA_SIGINFO
|
|
¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ï¥ó¥É¥é´Ø¿ô¤Ï
|
|
.Dv SA_SIGINFO
|
|
¥×¥í¥È¥¿¥¤¥×¤Ë°ìÃפ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
|
|
¤½¤Î¾ì¹ç¡¢
|
|
.Vt "struct sigaction"
|
|
¹½Â¤ÂΤÎ
|
|
.Va sa_sigaction
|
|
¥á¥ó¥Ð¤¬¥Ï¥ó¥É¥é´Ø¿ô¤ò»Ø¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
|
|
¤³¤ÎÊýË¡¤Ç
|
|
.Dv SIG_DFL
|
|
¤¢¤ë¤¤¤Ï
|
|
.Dv SIG_IGN
|
|
¤ò³ä¤êÅö¤Æ¤Æ¤Ï¤¤¤±¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
|
|
.Pp
|
|
.Dv SA_SIGINFO
|
|
¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Ï¥ó¥É¥é´Ø¿ô¤Ï
|
|
.Tn ANSI C
|
|
¤â¤·¤¯¤ÏÅÁÅýŪ¤Ê
|
|
.Bx
|
|
¥×¥í¥È¥¿¥¤¥×¤Î¤É¤Á¤é¤«¤Ë°ìÃפ·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤º¡¢
|
|
.Vt "struct sigaction"
|
|
¹½Â¤ÂΤÎ
|
|
.Va sa_handler
|
|
¥á¥ó¥Ð¤¬¥Ï¥ó¥É¥é´Ø¿ô¤ò»Ø¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
|
|
¼ÂºÝ¤Ë¤Ï¡¢
|
|
.Fx
|
|
¤Ï¾ï¤Ë¸å¼Ô¤Ç¤¢¤ë
|
|
.Bx
|
|
¥×¥í¥È¥¿¥¤¥×¤Î 3 ¤Ä¤Î°ú¿ô¤òÁ÷¤ê¤Þ¤¹¤·¡¢
|
|
.Tn ANSI C
|
|
¥×¥í¥È¥¿¥¤¥×¤Ï¤½¤Î¥µ¥Ö¥»¥Ã¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤É¤Á¤é¤Ç¤âưºî¤·¤Þ¤¹¡£
|
|
.Fx
|
|
¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Î
|
|
.Va sa_handler
|
|
¥á¥ó¥ÐÀë¸À¤Ï¡¢
|
|
.Tn ( POSIX
|
|
¤ÎÍ×µá¤Ë½¾¤¤)
|
|
.Tn ANSI C
|
|
¤Î¤â¤Î¤Ç¤¹¡£
|
|
¤½¤Î¤¿¤á¡¢
|
|
.Bx
|
|
¥¹¥¿¥¤¥ë¤Î´Ø¿ô¤Î¥Ý¥¤¥ó¥¿¤Î¾ì¹ç¡¢·Ù¹ð¥á¥Ã¥»¡¼¥¸¤ò̵¤¯¤·¤Æ
|
|
¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¥¥ã¥¹¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
|
|
ÅÁÅýŪ¤Ê
|
|
.Bx
|
|
¥¹¥¿¥¤¥ë¤Ï°Ü¿¢À¤¬¤Ê¤¯¡¢¤½¤Îµ¡Ç½À¤â
|
|
.Dv SA_SIGINFO
|
|
¥Ï¥ó¥É¥é¤Î´°Á´¤ÊÉôʬ½¸¹ç¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
|
|
.Bx
|
|
¥¹¥¿¥¤¥ë¤ò»È¤¦¤³¤È¤Ï¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
|
|
.Pp
|
|
.Fa sig
|
|
°ú¿ô¤Ï¥·¥°¥Ê¥ëÈÖ¹æ¤Ç¡¢
|
|
.In signal.h
|
|
¤Î
|
|
.Dv SIG...
|
|
ÃͤΤ¦¤Á¤Î 1 ¤Ä¤Ç¤¹¡£
|
|
.Pp
|
|
.Bx
|
|
¥¹¥¿¥¤¥ë¤Î¥Ï¥ó¥É¥é¤Î
|
|
.Fa code
|
|
°ú¿ô¤ª¤è¤Ó
|
|
.Dv SA_SIGINFO
|
|
¥Ï¥ó¥É¥é¤Ø¤Î
|
|
.Fa info
|
|
°ú¿ô¤Î
|
|
.Va si_code
|
|
¥á¥ó¥Ð¤Ë¤Ï¡¢¥·¥°¥Ê¥ë¤ÎȯÀ¸Íýͳ¤òÀâÌÀ¤·¤¿¿ôÃÍ¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
Ä̾¤³¤Î¿ôÃÍ¥³¡¼¥É¤Ï
|
|
.In sys/signal.h
|
|
¤Ë¤¢¤ë
|
|
.Dv SI_...
|
|
ÃͤΠ1 ¤Ä¤Ç¤¢¤ë¤«¡¢¤â¤·¤¯¤Ï¥·¥°¥Ê¥ë¤ËÆÃ²½¤·¤¿¥³¡¼¥É¡¢¤¹¤Ê¤ï¤Á
|
|
.Dv SIGFPE
|
|
¤ËÂФ¹¤ë
|
|
.Dv FPE_...
|
|
ÃͤǤ¹¡£
|
|
.Pp
|
|
.Bx
|
|
¥¹¥¿¥¤¥ë¤Î¥Ï¥ó¥É¥é¤Î
|
|
.Fa scp
|
|
°ú¿ô¤Ï
|
|
.Vt "struct sigcontext"
|
|
¹½Â¤ÂΤΥ¤¥ó¥¹¥¿¥ó¥¹¤ò»Ø¤·¤Æ¤¤¤Þ¤¹¡£
|
|
.Pp
|
|
.Tn POSIX
|
|
.Dv SA_SIGINFO
|
|
¥Ï¥ó¥É¥é¤Î
|
|
.Fa uap
|
|
°ú¿ô¤Ï¡¢ucontext_t ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò»Ø¤·¤Æ¤¤¤Þ¤¹¡£
|
|
.Sh ¥¨¥é¡¼
|
|
°Ê²¼¤Î¤¦¤Á 1 ¤Ä¤¬È¯À¸¤¹¤ë¤È¡¢
|
|
.Fn sigaction
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥¨¥é¡¼¤Ë¤Ê¤ê¡¢¿·¤·¤¤¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ÏÀßÃÖ¤µ¤ì¤Þ¤»¤ó:
|
|
.Bl -tag -width Er
|
|
.It Bq Er EFAULT
|
|
.Fa act
|
|
¤«
|
|
.Fa oact
|
|
¤Ï¡¢¥×¥í¥»¥¹¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¶õ´Ö¤ÎÈϰϳ°¤ò»Ø¤·¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er EINVAL
|
|
.Fa sig
|
|
°ú¿ô¤¬¡¢Àµ¤·¤¤¥·¥°¥Ê¥ëÈÖ¹æ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
|
|
.It Bq Er EINVAL
|
|
.Dv SIGKILL
|
|
¤«
|
|
.Dv SIGSTOP
|
|
¤Î¥Ï¥ó¥É¥é¤ò̵»ë¤¹¤ë¤«Ä󶡤·¤è¤¦¤È¤·¤Þ¤·¤¿¡£
|
|
.El
|
|
.Sh µ¬³Ê
|
|
.Fn sigaction
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢
|
|
.St -p1003.1-90
|
|
¤ËŬ¹ç¤·¤Æ¤¤¤Þ¤¹¡£
|
|
.Dv SA_ONSTACK
|
|
¥Õ¥é¥°¤È
|
|
.Dv SA_RESTART
|
|
¥Õ¥é¥°¤Ï¡¢Berkeley ¤Î³ÈÄ¥µ¡Ç½¤Ç¤¹¡£
|
|
.Dv SIGTRAP ,
|
|
.Dv SIGEMT ,
|
|
.Dv SIGBUS ,
|
|
.Dv SIGSYS ,
|
|
.Dv SIGURG ,
|
|
.Dv SIGIO ,
|
|
.Dv SIGXCPU ,
|
|
.Dv SIGXFSZ ,
|
|
.Dv SIGVTALRM ,
|
|
.Dv SIGPROF ,
|
|
.Dv SIGWINCH ,
|
|
.Dv SIGINFO
|
|
¥·¥°¥Ê¥ë¤âƱÍͤǤ¹¡£
|
|
¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤Ï¡¢
|
|
.Bx
|
|
¤«¤éÇÉÀ¸¤·¤¿¥·¥¹¥Æ¥à¤Î¤Û¤È¤ó¤É¤Ç»ÈÍѤǤ¤Þ¤¹¡£
|
|
.Dv SA_NODEFER
|
|
¥Õ¥é¥°¤È
|
|
.Dv SA_RESETHAND
|
|
¥Õ¥é¥°¤Ï¡¢¤½¤Î¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Î²¼°Ì¸ß´¹À¤òÊݤĤ¿¤á¤Î¤â¤Î¤Ç¤¹¡£
|
|
.Dv SA_NOCLDSTOP
|
|
¥Õ¥é¥°¤È
|
|
.Dv SA_NOCLDWAIT
|
|
¥Õ¥é¥°¤Ï¡¢¤½¤Î¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç°ìÈÌŪ¤Ë¸«¤é¤ì¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
|
|
¤³¤ì¤é¤Î¥Õ¥é¥°¤Ï
|
|
.Dv SIGCHLD
|
|
¤ò̵»ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥¾¥ó¥Ó¤ÎºîÀ®¤òÈò¤±¤ë¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë¡¢
|
|
.St -susv2
|
|
¤Ë¤è¤Ã¤Æ¾µÇ§¤µ¤ì¤Þ¤·¤¿¡£
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr kill 1 ,
|
|
.Xr kill 2 ,
|
|
.Xr ptrace 2 ,
|
|
.Xr sigaltstack 2 ,
|
|
.Xr sigblock 2 ,
|
|
.Xr sigpause 2 ,
|
|
.Xr sigpending 2 ,
|
|
.Xr sigprocmask 2 ,
|
|
.Xr sigsetmask 2 ,
|
|
.Xr sigsuspend 2 ,
|
|
.Xr sigvec 2 ,
|
|
.Xr wait 2 ,
|
|
.Xr fpsetmask 3 ,
|
|
.Xr setjmp 3 ,
|
|
.Xr siginterrupt 3 ,
|
|
.Xr sigsetops 3 ,
|
|
.Xr ucontext 3 ,
|
|
.Xr tty 4
|