LINUX – Ver el tiempo que un proceso lleva en ejecución.-

En *nix, el comando ps permite listar y manejar procesos pero no se suele conocer la forma directa de visualizar el tiempo que lleva un proceso en ejecución. En realidad se puede sacar con la salida por defecto  a partir del valor de la columna STIME, que indica el momento en el que se inició (START TIME) pero hay que «calcular» el tiempo.

Para calcular el tiempo en ejecución de un proceso podemos utilizar el parámetro etime (elapsed time), el cual muestra en formato de fecha el tiempo que el proceso que le indiquemos lleva ejecutándose:

etime – elapsed time since the process was started, in the form [[dd-]hh:]mm:ss.

Lo combinaremos con otro parámetro (-p pidlist) en el que le diremos el PID a revisar y el formato (-o):

$ ps -p PID -o etime=

$ ps -p 4283 -o etime=

      06:18

También podemos especificar el «output» que queramos para ps especificando los argumentos separados por comas después del «-o», un ejemplo:

$ ps -eo pid,comm,args,user,etime –sort user | more

  PID COMMAND         COMMAND                     USER         ELAPSED

 2969 fctsslvpndaemon /crypted/Proyectos/         4294967294  02:39:36

 1929 gnome-keyring-d /usr/bin/gnome-keyring-daem 1000        03:04:27

 1948 sh              /bin/sh /etc/xdg/xfce4/xini 1000        03:04:27

 1977 ssh-agent       /usr/bin/ssh-agent /usr/bin 1000        03:04:26

 1980 dbus-launch     /usr/bin/dbus-launch –exit 1000        03:04:26

 1981 dbus-daemon     //bin/dbus-daemon –fork — 1000        03:04:26

 1989 xfconfd         /usr/lib/xfce4/xfconf/xfcon 1000        03:04:26

 1995 xscreensaver    xscreensaver -no-splash     1000        03:04:26

Publicado en Unix - Linux | Deja un comentario

BASH – Script para buscar y reemplazar texto en archivos.

Este script busca un patrón específico en todos los archivos de un directorio y reemplaza el texto encontrado.

Publicado en Unix - Linux | Deja un comentario

BASH – Script busca direcciones IP en Archivo LOG.

Script en BASH que analiza un archivo LOG y busca direcciones IP en el REGISTRO, cuando las detecta, debe guardar las Direcciones IP en una MATRIZ Asociativa (Solo funciona en versiones de BASH sobre 4). Además, debe grabar un registro con la fecha y hora en que aparece las direcciones IP.

Al finalizar el SCRIPT, debe mostrar un resumen con las DIRECCIONES IP y la cantidad de veces que aparecieron en el LOG.

Explicación del SCRIPT :

  1. Expresión regular:
    • ^([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}): Captura la fecha y hora en formato YYYY-MM-DD HH:MM:SS.
    • .*([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}): Captura la dirección IP en cualquier parte de la línea.
  2. Variables:
    • fecha_hora=»${BASH_REMATCH[1]}»: Almacena la fecha y hora capturadas.
    • ip=»${BASH_REMATCH[2]}»: Almacena la dirección IP capturada.
  3. Registro de fechas y horas:
    • echo «$fecha_hora – $ip» >> fechas_ips.log: Guarda la fecha, hora y dirección IP en un archivo llamado fechas_ips.log.

Consideraciones:

  • Asegúrate de que el formato de la fecha y hora en tu archivo de registro coincida con el patrón que hemos definido.
  • Puedes cambiar el nombre del archivo de registro y el archivo de salida según tus necesidades.

Publicado en Unix - Linux | Deja un comentario

BASH – Script MENU en colores (Sencillo).

Publicado en Unix - Linux | 2 comentarios

EXPECT – Diferentes modos de apertura de archivos.

En expect, puedes abrir archivos utilizando varios modos, muy similares a los modos disponibles en Tcl (el lenguaje en el que está basado expect). Aquí te dejo una lista de los modos más comunes que puedes usar:

  1. r – Lectura: Abre el archivo para lectura. El archivo debe existir.

  2. r+ – Lectura y escritura: Abre el archivo para lectura y escritura. El archivo debe existir.

  3. w – Escritura: Abre el archivo para escritura. Si el archivo ya existe, se trunca (se elimina su contenido). Si el archivo no existe, se crea uno nuevo.

  4. w+ – Lectura y escritura: Abre el archivo para lectura y escritura. Si el archivo ya existe, se trunca. Si el archivo no existe, se crea uno nuevo.

  5. a – Añadir (append): Abre el archivo para añadir datos. Los datos se añaden al final del archivo si ya existe. Si el archivo no existe, se crea uno nuevo.

  6. a+ – Lectura y añadir: Abre el archivo para lectura y añadir datos. Los datos se añaden al final del archivo si ya existe. Si el archivo no existe, se crea uno nuevo.

Estos modos te permiten manejar archivos según tus necesidades, ya sea para solo leer su contenido, escribir sobre ellos o añadir nueva información sin eliminar la existente.

Publicado en Unix - Linux | Deja un comentario