[pgpool-general-jp: 486] Re: pgpoolAdmin で pgpool 起動→ apache 上がらず
Tatsuo Ishii
ishii @ sraoss.co.jp
2008年 8月 27日 (水) 18:23:13 JST
遅いフォローで申し訳ありません.石井です.
> 石田です。
>
> とりあえずdaemonizeする時に全部クローズしてしまうのが
> 良いのではないでしょうか(dup2じゃなくてdupの方がいいかも
> しれませんが)。
少なくとも,0, 1, 2はcloseすべきでした.
# 後 chdir("/")していない:-<
3以降もcloseするでよいと思いますが...
一応確認したいんですけど,port 80 のソケット用のfdは,0,1,2のどれかに
なっているんでしょうか?もしわかったら教えてください.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
> -n オプションを付けた場合はファイルディスクリプタは
> 引き継がれてしまいますが、pgpoolがhttpdのプロセスグループ
> になってしまうので、httpdを停止するとpgpoolも止まります。
> これの善し悪しはともかく、結果的にport80を占有することは無いです。
> ----
> RCS file: /cvsroot/pgpool/pgpool-II/main.c,v
> retrieving revision 1.37
> diff -u -r1.37 main.c
> --- main.c 22 May 2008 14:36:38 -0000 1.37
> +++ main.c 29 Jul 2008 06:36:41 -0000
> @@ -621,6 +621,7 @@
> static void daemonize(void)
> {
> int i;
> + int fdlimit;
> pid_t pid;
>
> pid = fork();
> @@ -652,7 +653,10 @@
> dup2(i, 0);
> dup2(i, 1);
> dup2(i, 2);
> - close(i);
> +
> + fdlimit = sysconf(_SC_OPEN_MAX);
> + for (i = 3; i < fdlimit; i++)
> + close(i);
>
> write_pid_file();
> }
> ----
>
> 2008/7/29 ISHIDA Akio <iakio @ mono-space.net>:
> > こんにちは。石田@苫小牧と申します。
> >
> > こちらでも再現したので、報告します。
> > Apache/2.0.52
> > PHP 5.1.6
> > CentOS 4.6
> >
> > こんなスクリプトで再現します。
> > <?php
> > exec("/usr/local/bin/pgpool >/dev/null &", $output, $ret);
> > ?>
> >
> > これをDocumentRootにおいて、httpからアクセスします。
> >
> > ----
> > [root @ localhost html]# service httpd start
> > httpd を起動中: [ OK ]
> > [root @ localhost html]# wget http://127.0.0.1/pgpool.php
> > --19:11:28-- http://127.0.0.1/pgpool.php
> > => `pgpool.php.1'
> > 127.0.0.1:80 に接続しています... 接続しました。
> > HTTP による接続要求を送信しました、応答を待っています... 200 OK
> > 長さ: 0 [text/html]
> >
> > [ <=> ] 0 --.--K/s
> >
> > 19:11:28 (0.00 B/s) - `pgpool.php.1' を保存しました [0/0]
> >
> > [root @ localhost html]# service httpd restart
> > httpd を停止中: [ OK ]
> > httpd を起動中: (98)Address already in use: make_sock: could not bind to
> > address [::]:80
> > no listening sockets available, shutting down
> > Unable to open logs
> > [失敗]
> > ----
> > 想像ですが、phpがpopenした時にが引き継がれているのでは
> > ないでしょうか。
>
>
>
> --
> ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
pgpool-general-jp メーリングリストの案内