Foros del Web » Administración de Sistemas » Unix / Linux »

comando ps -aux

Estas en el tema de comando ps -aux en el foro de Unix / Linux en Foros del Web. Hola buen dia lo que necesito es como guardar en un archivo de texto lo que me regresa el comando ps -aux para despues compararlo ...
  #1 (permalink)  
Antiguo 13/04/2009, 11:11
 
Fecha de Ingreso: mayo-2008
Ubicación: Guadalajara
Mensajes: 28
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta comando ps -aux

Hola buen dia lo que necesito es como guardar en un archivo de texto lo que me regresa el comando ps -aux para despues compararlo con el archivo /etc/init.d, mi intencion es mostrar los servicios activos e inactivos y ponerlos de un color los activos y de otro los inactivos.

Se que puedo escribir en un archivo ">archivo.txt" así pero pongo esto y no me lo da...

ps -aux >archivo.txt

y nada... y lo de los colores obviamente si no encuentro como hacer esto no me imagino como separarlos aunque ya se que si en el "STAT" aparece "s" esta inactivo (sleep)

Agradezco su ayuda
  #2 (permalink)  
Antiguo 13/04/2009, 11:24
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 20 años, 4 meses
Puntos: 76
Respuesta: comando ps -aux

Quítale el guión a "ps -aux". Es decir:

ps aux > archivo.txt
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #3 (permalink)  
Antiguo 15/04/2009, 12:02
 
Fecha de Ingreso: mayo-2008
Ubicación: Guadalajara
Mensajes: 28
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: comando ps -aux

muchas gracias con ese detalle ya funciono solo que tengo problemas mi intencion es poder mostrar los servicios activos e inactivos esto sacandolo de guardar en un archivo de texto el contenido de /etc/init.d y compararlo con lo que me regrese el comando ps -e...

espero se entienda la cuestion y les agradezco la ayuda yo tengo lo siguiente hasta ahora

ls /etc/init.d >servicios.txt

#como comparo servicios.txt con ps -e para saber cuales servicios estan activos y cuales inactivos o no se si por ahi hay alguna incoherencia pero eso tengo que sacar y de esta manera con un archivo de texto
  #4 (permalink)  
Antiguo 15/04/2009, 13:03
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: comando ps -aux

¿Y no es más fácil usar los mismos script de /etc/init.d para saber el estado? Algo así como:
Código:
for i in `ls /etc/init.d/`; do
   service $i status >> /tmp/servicios.txt
done
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #5 (permalink)  
Antiguo 15/04/2009, 13:05
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: comando ps -aux

No se exactamente qué quieres hacer, pero hay un comando que se llama grep que te filtra las filas según lo que especifiques.

Por ejemplo:

ps -le | grep "Z" -> muestra los procesos zombies del sistema (es decir, muestra las línea que contengan una Z mayúscula)

Igual te ayuda. Salu2
  #6 (permalink)  
Antiguo 15/04/2009, 13:32
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 20 años, 4 meses
Puntos: 76
Respuesta: comando ps -aux

El problema del ejemplo que planteas es que la Z mayúscula puede ser parte del nombre del comando, por lo que los resultados estarán "contaminados". Seguro que con AWK se puede afinar bastante más.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #7 (permalink)  
Antiguo 15/04/2009, 14:03
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 20 años, 4 meses
Puntos: 76
Respuesta: comando ps -aux

Ociomax, a mí tu solución no me funciona, porque no reconoce el comando "service". ¿Estás seguro de que no se trata de un comando propio de Red Hat y derivados?
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #8 (permalink)  
Antiguo 15/04/2009, 14:26
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 20 años, 4 meses
Puntos: 76
Respuesta: comando ps -aux

A ver, traigo un primer intento con AWK, pero el resultado no es el esperado, porque me muestra nombres de procesos que no están inactivos:

Código:
ps aux c | awk  '$8 = "s" { print $11 }'
A ver si alguien acierta dónde está el problema.

Post-edición: Vale, creo que lo tengo:

Código:
ps aux c | awk  '$8 ~ /s/ { print $11 }'
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #9 (permalink)  
Antiguo 15/04/2009, 14:52
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: comando ps -aux

Cita:
Iniciado por Defero.tk Ver Mensaje
Ociomax, a mí tu solución no me funciona, porque no reconoce el comando "service". ¿Estás seguro de que no se trata de un comando propio de Red Hat y derivados?
No estoy seguro. Pero al menos en Fedora, "service" se encuentra en /sbin.
Código:
[christian@localhost ~]$ whereis service
service: /sbin/service /usr/share/man/man8/service.8.gz
[christian@localhost ~]$ rpm -qf /sbin/service
initscripts-8.94-1.i586
[christian@localhost ~]$
Por lo tanto hay que ejecutarlo como root, o llamarlo con la ruta completa.

(La otra opción es reemplazar "service $i" por "/etc/init.d/$i" y el resultado debería ser el mismo.)
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #10 (permalink)  
Antiguo 15/04/2009, 18:31
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 2 meses
Puntos: 47
Respuesta: comando ps -aux

En los *buntus no está service... ;)
para algo más genérico debería usarse lo que sugirió Ociomax...
__________________
¡Volviendo a la programación!
  #11 (permalink)  
Antiguo 16/04/2009, 12:59
 
Fecha de Ingreso: mayo-2008
Ubicación: Guadalajara
Mensajes: 28
Antigüedad: 16 años, 5 meses
Puntos: 0
comando ps -aux

Gcs por sus respuestas la vdd estoy empezando a soltarme a nivel estudiante, lo que quiero hacer es hacer un shell (*.sh) para correrlo en consola.

Lo que tiene que hacer es lo sig. para moverme mas en esto y me lo sugirieron como practica y ando buscando soluciones por aqui y la internet.

1) Mostrar servicios activos.

2) Mostrar servicios activos e inactivos (mostrando de verde los activos y de rojo los inactivos) y asignarles un numero a los servicios para a la hora de querer ejecutar un servicio inactivo solo ponga el numero del servicio o proceso inactivo (en consola) y lo ejecute o lo inicie.

3) Mostrar los servicios inactivos y activos solo que ahora solo tengo que detener algun proceso activo (tambien seleccionandolo con el numero asignado).

Y para mostrar los servicios es hacerlo con un archivo de texto pero ahi es donde no se como, guardando lo que me regresa el comando ls

ls /etc/init.d > servicios.txt

y despues comparar el .txt con lo que me de el comando ps -e, todo esto para mostrarlos asi como lo describo en los pasos.

espero me di a entender, gcs masters..

Última edición por raab; 20/04/2009 a las 11:13 Razón: agregar informacion mas especifica
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:02.