elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BASH] Ejecutar un script pasandole argumentos desde otro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BASH] Ejecutar un script pasandole argumentos desde otro  (Leído 5,297 veces)
ivan_esp

Desconectado Desconectado

Mensajes: 6


Ver Perfil
[BASH] Ejecutar un script pasandole argumentos desde otro
« en: 5 Octubre 2014, 17:40 pm »

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
  1.  
  2.    #!/bin/bash
  3.    #inf_process
  4.  
  5.    #echo -e "PID\tPPID\tESTADO\tCOMANDO\n"
  6.  
  7.    #awk '/^Pid/ { printf $1 } /PPid/ { print $1 } /State/ { printf $1 } /Name/ { printf $1 }' /proc/$1/status
  8.  
  9.  
  10.  
  11.    #awk '/^Pid/ { printf $2 } /PPid/ { print $2 } /State/ { printf $2 } /Name/ { printf $2 }' /proc/$1/status
  12.  
  13.    awk '/^Pid/ { printf $1}' /proc/$1/status
  14.    echo -en "\t"
  15.    awk '/PPid/ { printf $1}' /proc/$1/status
  16.    echo -en "\t"
  17.    awk '/State/ { printf $1}' /proc/$1/status
  18.    echo -en "\t"
  19.    awk '/Name/ { print $1}' /proc/$1/status
  20.  
  21.    awk '/^Pid/ { printf  $2}' /proc/$1/status
  22.    echo -en "\t"
  23.    awk '/PPid/ { printf  $2}' /proc/$1/status
  24.    echo -en "\t"
  25.    awk '/State/ { printf  $2}' /proc/$1/status
  26.    echo -en "\t"
  27.    awk '/Name/ { print  $2}' /proc/$1/status
  28.  
  29.  


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


« Última modificación: 5 Octubre 2014, 19:29 pm por Eleкtro » En línea

ivan_esp

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [BASH] Ejecutar un script pasandole argumentos desde otro
« Respuesta #1 en: 11 Octubre 2014, 13:43 pm »

Nadie puede darme una idea de por donde tirar o que funcion utilizar ,etc?

Saludos y Gracias


En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [BASH] Ejecutar un script pasandole argumentos desde otro
« Respuesta #2 en: 11 Octubre 2014, 16:25 pm »

que tal
Código
  1. ls /proc/ | grep -o '\<[0123456789]*\>'  | awk '{print "./sucomando.sh "$1}' | bash

y si bash puede manejar funciones y arrays es muy completo. no creo que hagan falta dos archivos para hacer eso.
« Última modificación: 11 Octubre 2014, 16:28 pm por daryo » En línea

buenas
ivan_esp

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [BASH] Ejecutar un script pasandole argumentos desde otro
« Respuesta #3 en: 14 Octubre 2014, 18:47 pm »

Muchas gracias daryo,
funciona perfectamente,mas simple de lo que yo pensaba .

Saludos y Gracias :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines