This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Process exhaustion; please test
- From: Nils <internationils at gmx dot net>
- To: cygwin at cygwin dot com
- Date: Mon, 19 Aug 2002 14:41:20 +0800
- Subject: Process exhaustion; please test
I've been having a problem running out of process IDs and wrote a small
C program to test if it happens on other systems. On my system I use up
2000 PIDs in ~500-550 forks. This seems like a lot. Could others run
this and see if they see the same? Please drop me or the list a line
with how it runs on your machine.
I'm on Win XP home with cygwin 1.3.12. My cygcheck output is attached
as well as the short program.
Thanks,
Nils.
Cygwin Win95/NT Configuration Diagnostics
Current System Time: Fri Aug 02 11:23:41 2002
Windows XP Home Edition Ver 5.1 Build 2600
Path: C:\cygwin\usr\local\bin
C:\cygwin\bin
C:\cygwin\bin
c:\WINDOWS\system32
c:\WINDOWS
c:\WINDOWS\System32\Wbem
C:\cygwin\bin\mh
SysDir: C:\WINDOWS\System32
WinDir: C:\WINDOWS
HOME = `C:\cygwin\home\NilsBoeffel'
MAKE_MODE = `unix'
PWD = `/home/NilsBoeffel'
USER = `NilsBoeffel'
ALLUSERSPROFILE = `C:\Documents and Settings\All Users'
APPDATA = `C:\Documents and Settings\Nils Boeffel\Application Data'
CLIENTNAME = `Console'
COLORFGBG = `10;default;0'
COLORTERM = `rxvt-xpm'
COMMONPROGRAMFILES = `C:\Program Files\Common Files'
COMPUTERNAME = `KAROO'
COMSPEC = `C:\WINDOWS\system32\cmd.exe'
DISPLAY = `:0'
EDITOR = `vim'
HOMEDRIVE = `C:'
HOMEPATH = `\Documents and Settings\Nils Boeffel'
LOGONSERVER = `\\KAROO'
MAILHOST = `debian.org'
MAILUSER = `lohner'
MANPATH = `:/usr/ssl/man'
NUMBER_OF_PROCESSORS = `1'
OS = `Windows_NT'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 11 Stepping 1, GenuineIntel'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0b01'
PROGRAMFILES = `C:\Program Files'
PS1 = `\w> '
SESSIONNAME = `Console'
SHLVL = `1'
SYSTEMDRIVE = `C:'
SYSTEMROOT = `C:\WINDOWS'
TEMP = `c:\DOCUME~1\NILSBO~1\LOCALS~1\Temp'
TERM = `xterm'
TMP = `c:\DOCUME~1\NILSBO~1\LOCALS~1\Temp'
USERDOMAIN = `KAROO'
USERNAME = `Nils Boeffel'
USERPROFILE = `C:\Documents and Settings\Nils Boeffel'
VISUAL = `vim'
WINDIR = `C:\WINDOWS'
WINDOWID = `167848544'
_ = `/usr/bin/cygcheck'
HKEY_CURRENT_USER\Software\Cygnus Solutions
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
(default) = `/cygdrive'
cygdrive flags = 0x00000022
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
(default) = `/cygdrive'
cygdrive flags = 0x00000022
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
(default) = `C:/cygwin'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
(default) = `C:/cygwin/bin'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
(default) = `C:/cygwin/lib'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/X11R6/lib/X11/fonts
(default) = `C:\cygwin\usr\X11R6\lib\X11\fonts'
flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options
c: hd NTFS 28615Mb 60% CP CS UN PA FC
d: cd N/A N/A
e: cd N/A N/A
. /cygdrive user binmode,cygdrive
C:/cygwin / system binmode
C:/cygwin/bin /usr/bin system binmode
C:/cygwin/lib /usr/lib system binmode
C:\cygwin\usr\X11R6\lib\X11\fonts /usr/X11R6/lib/X11/fonts system binmode
. /cygdrive user binmode,cygdrive
Found: C:\cygwin\bin\bash.exe
Found: C:\cygwin\bin\cat.exe
Found: C:\cygwin\bin\cpp.exe
Found: C:\cygwin\bin\find.exe
Found: C:\cygwin\bin\gcc.exe
Found: C:\cygwin\bin\gdb.exe
Found: C:\cygwin\bin\ld.exe
Found: C:\cygwin\bin\ls.exe
Found: C:\cygwin\bin\make.exe
Found: C:\cygwin\bin\sh.exe
58k 2002/05/07 C:\cygwin\bin\cygbz2-1.dll - os=4.0 img=1.0 sys=4.0
"cygbz2-1.dll" v0.0 ts=2002/5/7 14:33
621k 2002/05/17 C:\cygwin\bin\cygcrypto.dll - os=4.0 img=1.0 sys=4.0
"cygcrypto.dll" v0.0 ts=2002/5/17 20:24
45k 2001/04/25 C:\cygwin\bin\cygform5.dll - os=4.0 img=1.0 sys=4.0
"cygform5.dll" v0.0 ts=2001/4/25 13:28
35k 2002/01/09 C:\cygwin\bin\cygform6.dll - os=4.0 img=1.0 sys=4.0
"cygform6.dll" v0.0 ts=2002/1/9 14:03
19k 2002/02/20 C:\cygwin\bin\cyggdbm.dll - os=4.0 img=1.0 sys=4.0
"cyggdbm.dll" v0.0 ts=2002/2/20 11:05
20k 2002/07/17 C:\cygwin\bin\cyghistory5.dll - os=4.0 img=1.0 sys=4.0
"cyghistory5.dll" v0.0 ts=2002/7/18 5:18
929k 2002/06/24 C:\cygwin\bin\cygiconv-2.dll - os=4.0 img=1.0 sys=4.0
"cygiconv-2.dll" v0.0 ts=2002/6/25 2:24
22k 2001/12/13 C:\cygwin\bin\cygintl-1.dll - os=4.0 img=1.0 sys=4.0
"cygintl-1.dll" v0.0 ts=2001/12/13 17:28
23k 2002/06/24 C:\cygwin\bin\cygintl-2.dll - os=4.0 img=1.0 sys=4.0
"cygintl-2.dll" v0.0 ts=2002/6/24 12:54
21k 2001/06/20 C:\cygwin\bin\cygintl.dll - os=4.0 img=1.0 sys=4.0
"cygintl.dll" v0.0 ts=2001/6/21 1:09
119k 2002/02/09 C:\cygwin\bin\cygjpeg6b.dll - os=4.0 img=1.0 sys=4.0
"cygjpeg6b.dll" v0.0 ts=2002/2/9 13:19
26k 2001/04/25 C:\cygwin\bin\cygmenu5.dll - os=4.0 img=1.0 sys=4.0
"cygmenu5.dll" v0.0 ts=2001/4/25 13:27
20k 2002/01/09 C:\cygwin\bin\cygmenu6.dll - os=4.0 img=1.0 sys=4.0
"cygmenu6.dll" v0.0 ts=2002/1/9 14:03
156k 2001/04/25 C:\cygwin\bin\cygncurses++5.dll - os=4.0 img=1.0 sys=4.0
"cygncurses++5.dll" v0.0 ts=2001/4/25 13:29
175k 2002/01/09 C:\cygwin\bin\cygncurses++6.dll - os=4.0 img=1.0 sys=4.0
"cygncurses++6.dll" v0.0 ts=2002/1/9 14:03
226k 2001/04/25 C:\cygwin\bin\cygncurses5.dll - os=4.0 img=1.0 sys=4.0
"cygncurses5.dll" v0.0 ts=2001/4/25 13:17
202k 2002/01/09 C:\cygwin\bin\cygncurses6.dll - os=4.0 img=1.0 sys=4.0
"cygncurses6.dll" v0.0 ts=2002/1/9 14:03
15k 2001/04/25 C:\cygwin\bin\cygpanel5.dll - os=4.0 img=1.0 sys=4.0
"cygpanel5.dll" v0.0 ts=2001/4/25 13:27
12k 2002/01/09 C:\cygwin\bin\cygpanel6.dll - os=4.0 img=1.0 sys=4.0
"cygpanel6.dll" v0.0 ts=2002/1/9 14:03
40k 2001/11/21 C:\cygwin\bin\cygpcre.dll - os=4.0 img=1.0 sys=4.0
"cygpcre.dll" v0.0 ts=2001/11/22 6:15
39k 2001/11/21 C:\cygwin\bin\cygpcreposix.dll - os=4.0 img=1.0 sys=4.0
"cygpcreposix.dll" v0.0 ts=2001/11/22 6:15
1006k 2002/07/24 C:\cygwin\bin\cygperl5_8_0.dll - os=4.0 img=1.0 sys=4.0
"cygperl5_8_0.dll" v0.0 ts=2002/7/25 0:53
171k 2002/05/07 C:\cygwin\bin\cygpng10.dll - os=4.0 img=1.0 sys=4.0
"cygpng10.dll" v0.0 ts=2002/5/8 2:53
175k 2002/05/24 C:\cygwin\bin\cygpng12.dll - os=4.0 img=1.0 sys=4.0
"cygpng12.dll" v0.0 ts=2002/5/24 10:22
170k 2002/01/21 C:\cygwin\bin\cygpng2.dll - os=4.0 img=1.0 sys=4.0
"cygpng2.dll" v0.0 ts=2002/1/21 9:05
22k 2002/06/09 C:\cygwin\bin\cygpopt-0.dll - os=4.0 img=1.0 sys=4.0
"cygpopt-0.dll" v0.0 ts=2002/6/9 13:45
127k 2002/07/17 C:\cygwin\bin\cygreadline5.dll - os=4.0 img=1.0 sys=4.0
"cygreadline5.dll" v0.0 ts=2002/7/18 5:18
66k 2001/11/20 C:\cygwin\bin\cygregex.dll - os=4.0 img=1.0 sys=4.0
"cygregex.dll" v0.0 ts=2001/11/20 22:44
156k 2002/05/17 C:\cygwin\bin\cygssl.dll - os=4.0 img=1.0 sys=4.0
"cygssl.dll" v0.0 ts=2002/5/17 20:24
549k 2002/07/19 C:\cygwin\bin\cygtcl83.dll - os=4.0 img=1.0 sys=4.0
"cygtcl83.dll" v0.0 ts=2002/7/19 11:42
11k 2002/07/19 C:\cygwin\bin\cygtclpip83.dll - os=4.0 img=1.0 sys=4.0
221k 2002/07/19 C:\cygwin\bin\cygtix4183.dll - os=4.0 img=1.0 sys=4.0
"cygtix4183.dll" v0.0 ts=2002/7/19 11:43
830k 2002/07/19 C:\cygwin\bin\cygtk83.dll - os=4.0 img=1.0 sys=4.0
"cygtk83.dll" v0.0 ts=2002/7/19 11:43
50k 2002/03/12 C:\cygwin\bin\cygz.dll - os=4.0 img=1.0 sys=4.0
"cygz.dll" v0.0 ts=2002/3/12 12:38
883k 2002/07/06 C:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
"cygwin1.dll" v0.0 ts=2002/7/6 14:16
Cygwin DLL version info:
DLL version: 1.3.12
DLL epoch: 19
DLL bad signal mask: 19005
DLL old termios: 5
DLL malloc env: 28
API major: 0
API minor: 54
Shared data: 3
DLL identifier: cygwin1
Mount registry: 2
Cygnus registry name: Cygnus Solutions
Cygwin registry name: Cygwin
Program options name: Program Options
Cygwin mount registry name: mounts v2
Cygdrive flags: cygdrive flags
Cygdrive prefix: cygdrive prefix
Cygdrive default prefix:
Build date: Sat Jul 6 02:16:58 EDT 2002
CVS tag: cygwin-1-3-12-1
Shared id: cygwin1S3
Cygwin Package Information
Last downloaded files to: C:\downloads\cygwin
Last downloaded files from: ftp://ftp.nas.nasa.gov/mirrors/cygwin.com/pub/cygwin
Package Version
_update-info-dir 00034-1
ash 20020131-1
autoconf 2.53b-1
autoconf-devel 2.53a-1
autoconf-stable 2.13-4
automake 1.6.2-1
automake-devel 1.6.2-1
automake-stable 1.4p5-5
bash 2.05a-3
binutils 20020706-2
bison 1.35-1
byacc 1.9-1
bzip2 1.0.2-2
crypt 1.0-1
ctags 5.2-1
cvs 1.11.0-1
cygutils 1.1.2-1
cygwin 1.3.12-2
diff 1.0-1
diffutils 2.8.1-1
expect 20010117-1
file 3.37-1
fileutils 4.1-1
findutils 4.1.7-4
flex 2.5.4-2
gawk 3.0.4-1
gcc 3.1.1-4
gdb 20020718-1
gdbm 1.8.0-4
gettext 0.11.2-2
grep 2.5-1
groff 1.17.2-1
gzip 1.3.3-3
indent 2.2.8-1
jpeg 6b-7
less 374-1
libbz2_1 1.0.2-2
libiconv2 1.8-2
libintl 0.10.38-3
libintl1 0.10.40-1
libintl2 0.11.2-2
libncurses5 5.2-1
libncurses6 5.2-8
libpng 1.2.3-1
libpng10 1.0.13-3
libpng12 1.2.3-1
libpng2 1.0.12-1
libpopt0 1.6.4-4
libreadline4 4.1-2
libreadline5 4.3-1
libtool 20020202a-1
login 1.4-3
lynx 2.8.4-1
m4 0.0
make 3.79.1-7
man 1.5g-2
mingw-runtime 2.0-2
mktemp 1.4-1
mutt 1.4-1
ncftp 3.1.3-1
ncurses 5.2-8
newlib-man 20001118-1
openssh 3.4p1-4
openssl 0.9.6d-1
patch 2.5-3
pcre 3.7-1
perl 5.8.0-1
popt 1.6.4-4
python 2.2.1-1
readline 4.3-1
regex 4.4-2
rsync 2.5.5-1
rxvt 2.7.2-10
sed 3.02-1
sh-utils 2.0-2
ssmtp 2.38.7-3
tar 1.13.25-1
tcltk 20001125-1
tcsh 6.11.00-4
termcap 20020403-1
terminfo 5.2-3
texinfo 4.2-3
textutils 2.0.21-1
time 1.7-1
unzip 5.50-1
vim 6.1-2
w32api 1.5-1
wget 1.8.2-1
which 1.5-1
zip 2.3-2
zlib 1.1.4-1
Use -h to see help about each section
#include <stdio.h>
#include <unistd.h>
main()
{
pid_t process, initprocess, endprocess;
int count;
count=0;
process=0;
initprocess=fork();
/* drop out of parent */
if (initprocess<=0) { exit(); }
endprocess=initprocess+2000;
printf("Starting process ID is %d; ending at %d.\n",initprocess, endprocess);
/* while to prevent exhausting processes completely */
while(process<endprocess)
{
process=fork();
if (process==0)
{ if(0)printf("Parent process exits.\n"); exit(); }
if (process<0)
{ printf("ERROR: process ID returned was %d!\n",process); exit(); }
if (!(process%40))
{ printf("Child process ID %d.\n",process); }
count++;
}
printf("Forked a total of %d times.\n", count);
}
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/