2009-12-04 6 views

Répondre

8

Un peu de recherche nous amène à:

La valeur de retour est l'état de sortie de le programme tel qu'il est retourné par l'attente appel. Pour obtenir la valeur de sortie réelle, , décalez-vous de huit (voir ci-dessous). Voir également "exec". Ce n'est pas ce que vous voulez à utiliser pour capturer la sortie d'une commande , pour cela, vous devez utiliser simplement en arrière ou qx //, comme décrit dans "STRING" dans perlop. La valeur de retour sur -1 indique un échec de démarrage du programme ou une erreur de l'appel système wait (2) (inspectez $! Pour la raison ).

Et les docs de wait disent:

Behaves comme le sur votre système d'appel système wait (2) : il attend un processus enfant mettre fin et retourne le pid du défunt processus, ou -1 si il n'y a pas de processus enfant. Le statut est renvoyé en $? et $ {^ CHILD_ERROR_NATIVE}. Notez qu'une valeur de retour de -1 peut signifier que enfants processus sont moissonnés automatiquement, comme décrit dans perlipc.


Sources: Cela a été pris de perldoc. Voici un tutorial on system en Perl.

+0

@eliben, pourriez-vous s'il vous plaît me fournir plus d'informations ou un lien pour travailler sur ces derniers en détail –

+0

@Sachin: lié aux sources –

+3

Les docs pour C 'system()' disent exactement la même chose - il revient - 1 en cas d'échec de fork, et le résultat de 'wait()' sinon. – hobbs

Questions connexes