considerare questo esempio banale di fork() ing quindi in attesa di un bambino a morire in Perl:
#!/usr/bin/perl
use strict;
use warnings;
if (fork() == 0) {
exit(1);
}
waitpid(-1,0);
print $?;
Esecuzione dello script su Solaris 10 ottengo questo risultato:
$ perl test.pl
256
Ho il sospetto che i valori di sono essendo spostato verso l'alto perché quando faccio il exit(2)
nel bambino, l'output diventa 512
.
Non riesco a trovare questo documento in Perl waitpid. Si tratta di un bug sul mio sistema o sto facendo qualcosa di sbagliato?
È anche descritto in [perldoc -f system] (http://perldoc.perl.org/functions/system.html). – Ether