Maison  >  Article  >  développement back-end  >  Pourquoi exec.Command dans Go renvoie-t-il « Statut de sortie 1 » et comment puis-je obtenir plus d'informations ?

Pourquoi exec.Command dans Go renvoie-t-il « Statut de sortie 1 » et comment puis-je obtenir plus d'informations ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-13 13:32:02818parcourir

Why Does exec.Command in Go Return

Erreur de débogage « état de sortie 1 » dans Golang Exec.Command

Lors de l'utilisation de exec.Command dans Golang, la rencontre de l'erreur énigmatique « état de sortie 1 » laisse une égratignure leur tête pour les détails. Cet article vise à éclairer la cause de cette erreur et à fournir une solution pour des diagnostics plus détaillés.

Considérez le code suivant :

cmd := exec.Command("find", "/", "-maxdepth", "1", "-exec", "wc", "-c", "{}", "\")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()

L'exécution de ce code entraîne l'erreur non informative « état de sortie 1 » . Pour remédier à cela, exploitez la propriété Stderr de l'objet Command :

var stderr bytes.Buffer
cmd.Stderr = &stderr

Lors de l'exécution, le message d'erreur deviendra apparent :

exit status 1: find: -exec: no terminating ";" or "+"

Maintenant, équipé de cette erreur détaillée, vous peut résoudre le problème en conséquence.

Remarque : Il convient de considérer que certaines commandes peuvent rediriger les messages d'erreur vers la sortie standard plutôt que vers la sortie standard. que stderr. De plus, certaines commandes peuvent imprimer des messages d'erreur sur stderr mais renvoyer quand même un code d'erreur nul (entraînant une erreur nulle dans votre code). Par conséquent, il peut être nécessaire d'ajuster la solution donnée pour s'adapter aux commandes spécifiques que vous utilisez.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn