[PHP-users 14666]Re: PHPから、長時間かかる処理をバックグラウンドで呼びたい
SATOH Fumiyasu
fumiya @ samba.gr.jp
2003年 4月 15日 (火) 19:56:03 JST
At Mon, 14 Apr 2003 17:14:09 +0900,
Hirotaka Yamamoto wrote:
> 推測になりますが、SunONEでは子プロセス(CGI)の
> 終了待ちに waitpid でプロセスグループごと待って
> いたりするのではないでしょうか。
これが本件の原因に該当するかどうかはさておき、
> 多分、
>
> if ( fork() == 0 )
> {
> setpgid(0, 0);
> // CGI 起動
> }
>
> とかしていて。そうするとシェルでは子プロセスの
> プロセスグループを変更できないので回避は辛いですね。
daemontools 付属の pgrphack コマンドを利用するとか。
NAME
pgrphack - runs a program in a separate process group.
SYNOPSIS
pgrphack child
DESCRIPTION
pgrphack runs child in a new process group.
SEE ALSO
supervise(8), svc(8), svok(8), svstat(8), svscanboot(8),
svscan(8), readproctitle(8), fghack(8), multilog(8),
tai64n(8), tai64nlocal(8), setuidgid(8),
envuidgid(8), envdir(8), softlimit(8), setlock(8)
http://cr.yp.to/daemontools.html
Linux 系の環境であれば、util-linux に setsid(1) という
コマンドもあります。
--
-- Name: SATOH Fumiyasu -- Home: http://www.sfo.jp (in Japanese only)
-- Mail: fumiya @net-thrust.com, @samba.gr.jp, @namazu.org or ...
PHP-users メーリングリストの案内