Maîtriser la commande Strace dans Linux un guide complet

Maîtriser la commande Strace dans Linux un guide complet

Strace est un puissant outil de ligne de commande qui peut être utilisé pour tracer les appels et signaux système dans Linux. Il s'agit d'un outil essentiel pour les administrateurs système, les développeurs et les programmeurs pour déboguer les problèmes et optimiser les performances du système. Dans cet article, nous fournirons un guide complet pour maîtriser la commande Strace dans Linux.

Qu'est-ce que Strace?

Strace est un traceur d'appel système qui capture et affiche les appels système effectués par un programme ou un processus. Il peut également afficher des signaux et d'autres informations connexes. Strace est un outil puissant pour les problèmes de débogage dans les applications ou pour enquêter sur les problèmes de performance du système. Strace est souvent utilisée en combinaison avec d'autres outils Linux, tels que LTRACE, GDB et TCPDUmp.

Installation de Strace

Strace est préinstallé sur la plupart des distributions Linux. Cependant, s'il n'est pas installé sur votre système, vous pouvez facilement l'installer en utilisant le gestionnaire de packages de votre distribution. Par exemple, pour installer Strace sur Ubuntu, utilisez la commande suivante:

sudo apt-get install strace  

Utilisation de base

Pour utiliser Strace, préfixez simplement la commande que vous souhaitez tracer avec le "Strace" commande. Par exemple, pour tracer le "LS" commande, utilisez la commande suivante:

strace ls Cette commande affichera tous les appels système effectués par le "LS" commande. Vous pouvez également utiliser le "-p" Option pour tracer un processus en cours d'exécution. Par exemple, pour tracer le processus avec PID 1234, Utilisez la commande suivante: 
Strace -P 1234  

Filtrage des appels du système

Par défaut, Strace affichera tous les appels système effectués par un processus. Cependant, vous pouvez filtrer la sortie en utilisant le "-e" Option suivie d'une liste des appels système séparés par des virgules. Par exemple, pour afficher uniquement le "ouvrir" et "lire" appels système effectués par le "LS" commande, utilisez la commande suivante:

strace -e ouvert, lisez ls  

Cette commande affichera uniquement le "ouvrir" et "lire" appels système effectués par le "LS" commande.

Affichage des informations du signal

Strace peut également afficher des informations sur les signaux reçus par un processus. Pour afficher les informations du signal, utilisez le "-e" Option suivie du nom ou du numéro du signal. Par exemple, pour afficher des informations sur le "Sigint" signal reçu par le "LS" commande, utilisez la commande suivante:

Strace -e Signal = Sigint ls  

Cette commande affichera des informations sur le "Sigint" signal reçu par le "LS" commande.

Affichage des horodatages

Vous pouvez afficher des horodatages pour chaque appel système en utilisant le "-T" option. Par exemple, pour afficher des horodatages pour tous les appels système effectués par le "LS" commande, utilisez la commande suivante:

strace -t ls  

Rediriger la sortie

Par défaut, Strace passe au terminal. Cependant, vous pouvez rediriger la sortie vers un fichier en utilisant le "-o"Option suivie du nom de fichier. Par exemple, pour rediriger la sortie du "LS" Commande à un fichier appelé "sortir.SMS", Utilisez la commande suivante:

STRACE -O Sortie.txt ls  

Surveillance des appels du système

Strace peut également surveiller tous les appels système effectués par le système. Pour ce faire, utilisez le "-e" option suivie de "tous". Par exemple, pour surveiller tous les appels système effectués par le système et les sortir dans un fichier appelé "sortie.txt ", utilisez la commande suivante:

STRACE -E All -O Sortie.SMS  

Conclusion

En conclusion, Strace est un outil puissant pour l'analyse du système dans Linux. En maîtrisant la commande Strace, vous pouvez mieux comprendre le comportement de votre système et optimiser ses performances. Que vous soyez un administrateur système ou un développeur, Strace peut vous aider à identifier les problèmes et à les résoudre rapidement. Dans cet article, nous avons couvert une partie de l'utilisation et des fonctionnalités de base de Strace, y compris le filtrage des appels du système, l'affichage des informations du signal, l'affichage des horodatages et la redirection de la sortie.

Cependant, Strace a beaucoup plus d'options et de fonctionnalités qui peuvent être utilisées pour mieux comprendre le comportement du système. Nous vous recommandons d'explorer les pages et la documentation de Strace Man pour en savoir plus sur son utilisation avancée.

Dans l'ensemble, la maîtrise de la commande Strace est une compétence essentielle pour tous ceux qui travaillent avec les systèmes Linux. Avec sa capacité à tracer les appels système, les signaux et d'autres informations connexes, Strace est un outil puissant pour déboguer les problèmes, enquêter sur les problèmes de performance et optimiser le comportement du système.