La fonction system()
lancera un nouveau processus à partir de C et d'un script Perl. Quelles sont exactement les différences entre les processus appelés par system()
en C et à partir des scripts Perl, en termes de représentation des codes d'erreur?Quelle est la différence entre system() en C et Perl?
Répondre
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.
- 1. Quelle est la différence entre "global :: System" et "System" dans .NET?
- 2. Quelle est la différence entre CLR et DLR en C#?
- 3. Quelle est la différence entre Const et Static en C#?
- 4. Quelle est la différence entre 'int?' et 'int' en C#?
- 5. Quelle est la différence entre read et readline en C#?
- 6. Quelle est la différence entre Process et ProcessStartInfo en C#?
- 7. Quelle est la différence entre "_" et "__" en Objective-C?
- 8. Quelle est la différence entre Visual C++ et C++?
- 9. Quelle est la différence entre C et Embedded C?
- 10. Quelle est la différence entre% c et% C dans printf?
- 11. Quelle est la différence entre ~ et! opérateur?
- 12. quelle est la différence entre:.! et: r !?
- 13. Quelle est la différence entre dict() et {}?
- 14. Quelle est la différence entre memset et memcpy dans C
- 15. Quelle est la différence entre "$^N" et "$ +"?
- 16. Quelle est la différence entre = et: =
- 17. Quelle est la différence entre Cocoa Touch et Objective C
- 18. Quelle est la différence entre C# Thread.Sleep() et threadreference.Join()?
- 19. Quelle est la différence \\ \ C:.. Et \\ \ C: \
- 20. Quelle est la différence entre ces déclarations en C?
- 21. Quelle est la différence entre ces 2 déclarations en c?
- 22. Quelle est la différence entre ces 2 déclarations en c?
- 23. Quelle est la différence entre les comptes Oracle SYS et SYSTEM?
- 24. Quelle est la différence entre! == et! = En PHP?
- 25. Quelle est la différence entre Math et Array en Javascript?
- 26. Quelle est la différence entre -> et :: en PHP?
- 27. Quelle est la différence entre pycurl et curl en python
- 28. Quelle est la différence entre JFrame et FramView en Java?
- 29. Quelle est la différence entre Variable en PHP4 et PHP5?
- 30. Quelle est la différence entre « et" en JavaScript?
@eliben, pourriez-vous s'il vous plaît me fournir plus d'informations ou un lien pour travailler sur ces derniers en détail –
@Sachin: lié aux sources –
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