.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 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.
+.\" %%%LICENSE_END
.\"
.\" @(#)daemon.3 8.1 (Berkeley) 6/9/93
.\" Added mentioning of glibc weirdness wrt unistd.h. 5/11/98, Al Viro
+.\"*******************************************************************
.\"
-.\" Japanese Version Copyright (c) 2000-2001 Yuichi SATO
-.\" all rights reserved.
-.\" Translated Tue Jun 27 10:54:22 JST 2000
-.\" by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
-.\" Updated & Modified Mon Jan 14 06:50:04 JST 2002
-.\" by Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" This file was generated with po4a. Translate the source file.
.\"
-.\"WORD: detach ʬΥ
-.\"WORD: controlling terminal À©¸æüËö
-.\"WORD: current working directory ¥«¥ì¥ó¥È¡¦¥ï¡¼¥¥ó¥°¡¦¥Ç¥£¥ì¥¯¥È¥ê
-.\"WORD: global variable Âç°èÊÑ¿ô
-.\"
-.TH DAEMON 3 2009-12-05 "GNU" "Linux Programmer's Manual"
-.SH ̾Á°
-daemon \- ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤µ¤»¤ë
-.SH ½ñ¼°
-.B #include <unistd.h>
+.\"*******************************************************************
+.TH DAEMON 3 2009\-12\-05 GNU "Linux Programmer's Manual"
+.SH 名前
+daemon \- バックグラウンドで動作させる
+.SH 書式
+\fB#include <unistd.h>\fP
+.sp
+\fBint daemon(int \fP\fInochdir\fP\fB, int \fP\fInoclose\fP\fB);\fP
+.sp
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
+.in
.sp
-.BI "int daemon(int " nochdir ", int " noclose );
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
-.RB ( feature_test_macros (7)
-»²¾È):
-.SH ÀâÌÀ
-.BR daemon ()
-¤Ï¡¢À©¸æüËö¤«¤éʬΥ¤µ¤»¤Æ¥·¥¹¥Æ¥à¥Ç¡¼¥â¥ó¤È¤·¤ÆÆ°ºî¤µ¤»¤¿¤¤
-¥×¥í¥°¥é¥à¤Î¤¿¤á¤Î´Ø¿ô¤Ç¤¢¤ë¡£
+\fBdaemon\fP(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
+.SH 説明
+\fBdaemon\fP() は、制御端末から分離させてシステムデーモンとして動作させたい プログラムのための関数である。
.PP
-.I nochdir
-¤¬ 0 ¤Î¾ì¹ç¡¢
-.BR daemon ()
-¤Ï¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê (current working directory)
-¤ò¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê ("/") ¤ËÊѹ¹¤¹¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
+\fInochdir\fP が 0 の場合、 \fBdaemon\fP() は呼び出したプロセスの現在の作業ディレクトリ (current working
+directory) をルートディレクトリ ("/") に変更する。 それ以外の場合、現在の作業ディレクトリは変更されない。
.PP
-.I noclose
-¤¬ 0 ¤Î¾ì¹ç¡¢
-.BR daemon ()
-¤Ïɸ½àÆþÎÏ¡¦É¸½à½ÐÎÏ¡¦É¸½à¥¨¥é¡¼¤ò \fI/dev/null\fP ¤Ë¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
-(¤³¤Î´Ø¿ô¤¬ fork ¤·¤Æ
-.BR fork (2)
-¤¬À®¸ù¤¹¤ë¤È¡¢¿Æ¥×¥í¥»¥¹¤Ç¤Ï
-.BR _exit (2)
-¤ò¸Æ¤Ó½Ð¤¹¤Î¤Ç¡¢¤³¤ì°Ê¹ß¤Î¥¨¥é¡¼¤Ï»Ò¥×¥í¥»¥¹¤«¤é¤·¤«¸«¤ì¤Ê¤¤)¡£
-.\" ¥¢¥ó¥À¡¼¥¹¥³¥¢ _ ¤Ë²¼Àþ¤ò°ú¤«¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á .IR ¤Ï»È¤ï¤Ê¤¤¡£
-À®¸ù¤·¤¿¾ì¹ç¡¢
-.BR daemon ()
-¤Ï 0 ¤òÊÖ¤¹¡£
-¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¾ì¹ç¡¢
-.BR daemon ()
-¤Ï \-1 ¤òÊÖ¤¹¡£
-¤µ¤é¤Ë¡¢
-.I errno
-¤Ë
-.BR fork (2)
-¤È
-.BR setsid (2)
-¤Ë´Ø¤·¤Æµ¬Äꤵ¤ì¤¿¥¨¥é¡¼¤òÀßÄꤹ¤ë¡£
-.SH ½àµò
-POSIX.1-2001 ¤Ë¤Ï¤Ê¤¤¡£
-ƱÍͤδؿô¤¬ BSD ¤Ë¤Ï¸«¤é¤ì¤ë¡£
-.BR daemon ()
-´Ø¿ô¤Ï 4.4BSD ¤Ç»Ï¤á¤ÆÅо줷¤¿¡£
-.SH Ãí°Õ
-.I /dev/null
-¤Ï¸ºß¤¹¤ë¤¬¡¢ÁÛÄꤹ¤ë¥á¥¸¥ã¡¼ÈÖ¹æ¤È¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤Î
-¥¥ã¥é¥¯¥¿¥Ç¥Ð¥¤¥¹¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-glibc ¤Î¼ÂÁõ¤Ç¤â \-1 ¤¬ÊÖ¤µ¤ì¤ë¡£
-¤³¤Î¾ì¹ç¡¢
-.I errno
-¤¬ÀßÄꤵ¤ì¤ëɬÍפϤʤ¤¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR fork (2),
-.BR setsid (2)
+\fInoclose\fP が 0 の場合、 \fBdaemon\fP() は標準入力・標準出力・標準エラーを \fI/dev/null\fP にリダイレクトする。
+それ以外の場合、これらのファイル・ディスクリプタは変更されない。
+.SH 返り値
+.\" not .IR in order not to underline _
+(この関数が fork して \fBfork\fP(2) が成功すると、親プロセスでは \fB_exit\fP(2)
+を呼び出すので、これ以降のエラーは子プロセスからしか見れない)。 成功した場合、 \fBdaemon\fP() は 0 を返す。 エラーが起こった場合、
+\fBdaemon\fP() は \-1 を返す。 さらに、 \fIerrno\fP に \fBfork\fP(2) と \fBsetsid\fP(2)
+に関して規定されたエラーを設定する。
+.SH 準拠
+POSIX.1\-2001 にはない。 同様の関数が BSD には見られる。 \fBdaemon\fP() 関数は 4.4BSD で始めて登場した。
+.SH 注意
+\fI/dev/null\fP は存在するが、想定するメジャー番号とマイナー番号の キャラクタデバイスでなかった場合、 glibc の実装でも \-1
+が返される。 この場合、 \fIerrno\fP が設定される必要はない。
+.SH 関連項目
+\fBfork\fP(2), \fBsetsid\fP(2)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。