Cygwin1.5.13-1下运行configure出错,并导致系统不稳定

merlinran 2005-03-31 11:59:10
我想在Cygwin下安装mysql和net-snmp,在./configure的过程中,开始很正常,但到了后来:
...
checking stddef.h presence... yes
checking for stddef.h... yes
21 [main] bash 17096 fork_parent: child 17108 died waiting for longjmp before initialization
./configure: fork: No error
14 [main] bash 17112 fork_parent: child 17116 died waiting for longjmp before initialization
./configure: fork: No error
./configure: line 1: ${+set}: bad substitution
checking strings.h usability... 20 [main] bash 280 fork_parent: child 17104 died waiting for longjmp before initialization
./configure: fork: No error
64347 [main] bash 280 fork_parent: child 17100 died waiting for longjmp before initialization
./configure: fork: No error
124934 [main] bash 280 fork_parent: child 17128 died waiting for longjmp before initialization
./configure: fork: No error
180897 [main] bash 280 fork_parent: child 17132 died waiting for longjmp before initialization
./configure: fork: No error
20 [main] bash 992 fork_parent: child 1332 died waiting for longjmp before initialization
bash: fork: No such file or directory

此时再运行任何shell command,都会提示fork出错,有时的错误是Resource temporarily unavailable,有时是No such file or directory。此时,Windows系统已经极不稳定了,任务无法切换,Task Manager都调不出来。

Google了一下,有人遇到过同样的问题:http://article.gmane.org/gmane.os.cygwin/61416,怀疑是PID一直增大造成的,但一直没有找到解决办法。不知有哪位遇到类似的问题?
...全文
190 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaoxianfeng 2005-05-18
  • 打赏
  • 举报
回复
支持你
merlinran 2005-03-31
  • 打赏
  • 举报
回复
我似乎发现问题所在了。问题不在于最大进程数,而在于Cygwin在fork()时PID总是增大,很快就到达了Windows的进程号限制(在我的2000 Professional上,这个限制稍大于17000),此时再fork(),自然就会失败了。而此时一般的Windows程序还可以启动,因为它会重新利用那些已经退出的进程原来占用的PID。估计Windows不能很好地处理这个极限情况,导致系统极不稳定。

我已经向cygwin的邮件列表报告了此问题,希望能够有回音。
merlinran 2005-03-31
  • 打赏
  • 举报
回复
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 2043
cpu time (seconds, -t) unlimited
max user processes (-u) 63
virtual memory (kbytes, -v) 2097152

max user processes是63,在task manager中看到的总和也没有这么多。而且,fork不成功也倒罢了,为何搞得Windows都不稳定了呢?
gaoxianfeng 2005-03-31
  • 打赏
  • 举报
回复
看看 ulimit -a

是否可开启 进程数 不够?

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧