Advertisement
Guest User

Untitled

a guest
May 28th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.89 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #cpugasto [PID] [Tempo]
  4.  
  5. #Explicação do script:
  6.  
  7. #Objectivo: descobrir a %CPU utilizada por um processo
  8.  
  9.  
  10. #O comando pidstat -p [PID], devolve uma tabela do estilo:
  11.  
  12. #Linux 3.19.0-18-generic (TECRA-R940)   28-05-2015  _x86_64_    (4 CPU)
  13. #
  14. #02:31:53      UID       PID    %usr %system  %guest    %CPU   CPU  Command
  15. #02:31:53        0       961    4,39    2,83    0,00    7,22     2  Xorg
  16.  
  17. #Pretende-se retornar %CPU, 7,22 neste caso
  18. #Através do comando  awk 'FNR==4 {print $7}' é possível imprimir na 4ª linha o valor da 7ª coluna, que neste caso é o valor da %CPU
  19.  
  20. #Por fim recorre-se ao comando tr ',' '.' para substituir a virgula por um ponto, para ser mais fácil o programa em C lê-lo
  21.  
  22. #Se o resultado final for uma string vazia imprime-se "0"
  23.  
  24. cpu=$(pidstat -p $1 $2 1 | awk 'FNR==4 {print $7}' | tr ',' '.')
  25.  
  26. if [ -z $cpu ]; then echo "0"
  27. else echo $cpu
  28. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement