Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/10/2014, 09:21
ivan_esp
 
Fecha de Ingreso: diciembre-2012
Mensajes: 26
Antigüedad: 12 años
Puntos: 0
Pasar argumentos desde el proceso ps a otro

Hola a todos,
Resulta que tengo un script que toma como argumento el pid de un proceso e
imprime por pantalla en formato de columnas el PID, PPID, ESTADO y COMANDO que ejecuta dicho proceso.

Es decir esto:

PID PPID ESTADO COMANDO
8900 8880 S bash

Y ahora lo que necesito es otro script que proporcione al script anterior todos los
PID de los procesos del sistema, para que imprima su información.

El primer script es este:

Código BASH:
Ver original
  1. #!/bin/bash
  2. #inf_process
  3.  
  4. #echo -e "PID\tPPID\tESTADO\tCOMANDO\n"
  5.  
  6. #awk '/^Pid/ { printf $1 } /PPid/ { print $1 } /State/ { printf $1 } /Name/ { printf $1 }' /proc/$1/status
  7.  
  8.  
  9.  
  10. #awk '/^Pid/ { printf $2 } /PPid/ { print $2 } /State/ { printf $2 } /Name/ { printf $2 }' /proc/$1/status
  11.  
  12. awk '/^Pid/ { printf $1}' /proc/$1/status
  13. echo -en "\t"
  14. awk '/PPid/ { printf $1}' /proc/$1/status
  15. echo -en "\t"
  16. awk '/State/ { printf $1}' /proc/$1/status
  17. echo -en "\t"
  18. awk '/Name/ { print $1}' /proc/$1/status
  19.  
  20. awk '/^Pid/ { printf  $2}' /proc/$1/status
  21. echo -en "\t"
  22. awk '/PPid/ { printf  $2}' /proc/$1/status
  23. echo -en "\t"
  24. awk '/State/ { printf  $2}' /proc/$1/status
  25. echo -en "\t"
  26. awk '/Name/ { print  $2}' /proc/$1/status

Alguna idea de como hacer el otro.
La unica forma que se me ocurre es obtener del comando ps los PID ,almacenarlos en un array ,recorre el array e ir ejecutando el primer script pasandole el PID,pero no se si esto se puede hacer en los script.

Saludos y Gracias