考虑这个fork()的简单示例,然后在 Perl 中等待孩子死去:
#!/usr/bin/perl
use strict;
use warnings;
if (fork() == 0) {
exit(1);
}
waitpid(-1,0);
print $?;
在 Solaris 10 上运行脚本,我得到以下结果:
$ perl test.pl
256
我怀疑 的值正在向上移动,因为当我exit(2)
在孩子中这样做时,输出变为512
.
我似乎在 perl 的waitpid中找不到这个记录。这是我系统上的错误还是我做错了什么?