Рассмотрим этот тривиальный пример 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 . Это ошибка в моей системе или я что-то не так делаю?