From owner-FreeBSD-users-jp@jp.freebsd.org  Wed Mar 22 00:16:52 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id AAA26777;
	Wed, 22 Mar 2000 00:16:52 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mail.raidway.ne.jp (mail.raidway.ne.jp [202.217.216.16])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id AAA26758
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 22 Mar 2000 00:16:37 +0900 (JST)
	(envelope-from yzone@mail.raidway.ne.jp)
Received: from hornet (mx-kws86.raidway.ne.jp [202.217.222.86])
	by mail.raidway.ne.jp (8.9.1/3.7W) with SMTP id AAA15487
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 22 Mar 2000 00:16:25 +0900 (JST)
Message-Id: <200003211516.AAA15487@mail.raidway.ne.jp>
Date: Wed, 22 Mar 2000 00:17:02 +0900
From: Yasushi Higuchi <yzone@mail.raidway.ne.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <4.2.0.58.J.20000321210326.009d0180@capella.freemail.ne.jp>
References: <4.2.0.58.J.20000321201202.009aee90@capella.freemail.ne.jp> <4.2.0.58.J.20000321210326.009d0180@capella.freemail.ne.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver 1.26.02
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 50681
Subject: [FreeBSD-users-jp 50681] Re: =?ISO-2022-JP?B?GyRCJVclbRsoQg==?=
 =?ISO-2022-JP?B?GyRCJTslOSNJI0QkTiNNI0EjWENNJEskRCQkJEYbKEI=?=
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: yzone@mail.raidway.ne.jp

$BHu8}(B@raidway$B$G$9!#(B

On Tue, 21 Mar 2000 21:09:57 +0900
meta1 <meta1@capella.freemail.ne.jp> wrote:

>$B$I$&$d$i!"#P#I#D$,%5%$%/%j%C%/$K;H$o$l$h$&$H$9$k$H$-$K2?$i$+$N>c32$,H/@8$7$F(B 
>$B$$$k$N(B
>$B$G$O$J$$$G$7$g$&$+!)(B
>$B2?$+FM$-;_$a$kJ}K!$O$4$6$$$^$;$s$+!)(B

$B$H$j$"$($:!"K\Ev$K$=$l$,860x$J$N$+!"E,Ev$K(Bfork()$B$r7+$jJV$9(B
$B%W%m%0%i%`:n$C$F8!>Z$7$F$_$F$O$I$&$G$7$g$&$+(B?
# $B$?$V$s$=$l0J30$K860x$,$"$k$s$8$c$J$$$+$H;W$&$s$G$9$,(B...

$B0J2<$NE[$O:#E,Ev$K$G$C$A$"$2$?$N$G6K$a$F$$$$2C8:$G$9!#(B
$B$7$+$b(BNetBSD/pc98$B$G$7$+3NG'$7$F$J$+$C$?$j$7$^$9!#(B
# $B$^$!$?$V$s(BFreeBSD$B$G$bDL$k$H;W$$$^$9(B

----
/* cc -O -o pidmax pidmax.c */
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>

#define PID_MAX 30000

pid_t m_pid;

void
do_fork(void)
{
    pid_t pid;
    int r;

    pid = fork();
    if (pid == -1)
        err(1, "failed fork");

    if (pid == 0) {
        /* child: $B$9$0$K=*N;(B */
        fprintf(stderr, "child pid is %d\n", getpid());
        _exit(0);
    }

    /* parent: $B;R$N=*N;$rBT$C$F$=$N(Bpid$B$r(Bget */
    m_pid = waitpid(pid, &r, WUNTRACED);
}

int
main(void)
{
    char buf[16];

    /* $B<+J,$N(Bpid$B$+$i(B max - 10 $B$^$G$,$s$,$s%k!<%W(B */
    for (m_pid = getpid(); m_pid < (PID_MAX - 10); )
        do_fork();

    /* $B$"$H$O(B1$B$D$:$D3NG'(B */
    while (1) {
        fprintf(stderr, "ENTER: fork, q: exit >>");
        fgets(buf, sizeof(buf), stdin);
        if (*buf == 'q')
            return 0;

        do_fork();
    }

    return 0;
}

-- 
Higuchi Yasushi (yzone@mail.raidway.ne.jp)
http://www2.raidway.ne.jp/%7Eyzone/

