ignus a écritMerci c-cube 🙂
Merci à toi pour ta méthode.
On peut aussi passer par la commande ps :
ps aux | wc -l
Sachant qu'il faudra soustraire 1 du résultat, car la première ligne de sortie de la commande ps est une ligne d'intitulés de colonnes.
Et si l'on souhaite connaître le nombre exact de processus en cours avant le lancement la ligne de commande que je viens d'indiquer, il faut donc soustraire 3 à son résultat (pour éliminer le processus correspondant à la commande ps, celui correspondant à la commande wc et la fameuse ligne d'intitulés).
S'agissant de la ligne de commande de mon post précédent (inspirée de la tienne), il faut enlever 2 au résultat pour avoir le nombre de processus en cours avant lancement de la commande (puisque ls et wc correspondent chacun à un processus).
Au final, je propose une possible ligne de commande utilisant ps et wc, qui donne directement le nombre de processus en cours avant lancement de la commande elle-même :
p=$(ps aux | wc -l) && echo $(( $p - 4 ))
On passe ici par l'enregistrement dans la variable p qui est créée pour l'occasion et on enlève ensuite 4 à la valeur de cette variable, soit :
-1 pour le processus de la commande echo
-1 pour le processus de la commande wc
-1 pour le processus de la commande ps
-1 pour la ligne d'intitulés que génère la commande ps (et qui est comptabilisée par la commande wc -l)
Il me semble que l'enregistrement de la variable p ne compte pas ici pour un processus.
En tout cas, la valeur renvoyée par cette dernière ligne de commande concorde avec la valeur renvoyée par top (pour laquelle il faut soustraire 1 afin d'éliminer le processus top lui-même).