Bienvenidos a este capítulo del Curso de Linux para Hackers – Gestión de Procesos III. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Conceptos que aprenderás en esta sección:

  1. Comando nohup para mantener procesos activos: cómo utilizar nohup para que los procesos sigan ejecutándose después de cerrar la terminal.
  2. Verificación y redirección de la salida de nohup: cómo revisar y redirigir la salida de un proceso que usa nohup.
  3. Monitoreo del uso de disco con df: ver espacio libre en disco de manera legible.
  4. Monitoreo de memoria con free: cómo ver el uso de RAM en diferentes unidades.
  5. Resumen general de los comandos de administración de procesos en Linux: revisión de comandos clave para la administración de procesos y recursos.

Comando Nohup

Nohup significa no hang-up , es una utilidad de Linux que mantiene los procesos en ejecución incluso después de salir de la terminal o shell. Impide que los procesos reciban señales SIGHUP (Señal de cuelgue); estas señales se envían al proceso para terminar o finalizar un proceso.

Por lo general, cuando salimos de la terminal, todos los procesos en ejecución se terminan de forma predeterminada. Sin embargo, se muestra una advertencia para el proceso en ejecución. Si un proceso tarda más tiempo del esperado y necesitamos completarlo. En tales casos, un comando nohup es una herramienta útil para mantener el proceso en ejecución en segundo plano. El mejor uso de los comandos nohup es en la verificación de memoria, la sincronización, el reinicio de un servidor y más. También es ventajoso cuando ejecutamos un programa a través de ssh.

En el caso de una conexión ssh, si se interrumpe una conexión, se terminan todos los procesos en ejecución y podemos perder nuestros datos. El comando nohup soluciona este problema, ya que ignora todas las señales de interrupción y permite que el proceso continúe.

Comprobando la versión de nohup

Se trata de una utilidad de línea de comandos predeterminada de un sistema Linux, por lo que no es necesario instalarla. Podemos comprobar la versión instalada ejecutando el siguiente comando:

nohup --versión  

El comando anterior mostrará la versión instalada. Observe el siguiente resultado:

Cómo iniciar un proceso usando nohup

Si desea ejecutar un proceso después de salir de la terminal, ejecute el comando nohup seguido del proceso. Es un proceso sencillo. El proceso seguirá ejecutándose y no se cerrará. Tomemos un ejemplo para entender cómo funciona Nohup. Tenemos un archivo ‘hello.sh ‘, lo abriremos usando el comando Nohup. Ejecute el siguiente comando:

Ahora, el comando cat se ejecutará por completo incluso si cerramos la terminal. Considere el siguiente resultado:

Podemos ver en el resultado anterior que creará un archivo ‘nohup.out’ y le agregará el resultado.

Para mostrar la salida, ejecute el siguiente comando:

 cat nohup.out

Considere el siguiente resultado:

Además, también podemos redirigir la salida a un archivo específico. Para ello, ejecute el comando de la siguiente manera:

 nohup cat carlos.txt > shadow.txt  

El comando anterior redirigirá la salida a un archivo específico, “shadow.txt”. Para verificar la salida, ejecute el comando de la siguiente manera:

 cat shadow.txt

Considere el siguiente resultado:

Iniciar un proceso en segundo plano

Para iniciar un proceso en segundo plano, utilice el símbolo ‘ &’ después del comando. Se ejecutará nuestro proceso en segundo plano. Por ejemplo, si queremos hacer ping a javatpoint.com, ejecute el comando de la siguiente manera:

 nohup ping achicrou.com &

El comando anterior nos hará ping con javatpoint.com y redirigirá el proceso al segundo plano. Para verificar el proceso, ejecute el comando pgrep de la siguiente manera:

pgrep -a ping  

Considere el siguiente resultado:

Para matar el proceso, ejecute el comando kill con el PID indicado.

 kill 3859485

El comando anterior eliminará los procesos en segundo plano. Observe el siguiente resultado:

El comando nohup tiene más opciones que puedes explorar

 nohup --help

También  te recomendamos consultar las páginas man para este comando:

 man nohup

DF

Esta utilidad informa el espacio libre en disco (disco duro) en todos los sistemas de archivos.

Si desea la información anterior en un formato legible, utilice el comando

'df -h'

El comando df tiene más opciones que puedes explorar

 df --help

También  te recomendamos consultar las páginas man para este comando:

 man df

FREE

Este comando muestra la memoria libre y utilizada (RAM) en el sistema Linux.

Puedes utilizar los argumentos

free -m para mostrar la salida en MB
free -g para mostrar la salida en GB

El comando free tiene más opciones que puedes explorar

 free --help

También  te recomendamos consultar las páginas man para este comando:

 man free

Resumen de los puntos clave:

  1. Comando nohup para mantener procesos en ejecución
    nohup permite que un proceso siga activo incluso si se cierra la terminal. Esto es útil en operaciones largas, como sincronizaciones de archivos o en conexiones SSH inestables. nohup <comando> evita que el proceso reciba señales SIGHUP, que suelen terminar los procesos cuando se cierra la sesión.
  2. Salida de nohup a archivo
    Al ejecutar nohup, la salida se guarda en nohup.out por defecto. La salida puede visualizarse con cat nohup.out o redirigirse a otro archivo usando >. Ejemplo: nohup comando > archivo_salida.txt almacena el resultado en el archivo especificado.
  3. Ejecutar procesos en segundo plano con &
    Al añadir & a nohup, el proceso se envía automáticamente al segundo plano. Ejemplo: nohup ping achicrou.com & ejecuta el ping sin bloquear la terminal. Verifica el proceso con pgrep -a <proceso> y, si es necesario, elimínalo con kill <PID>.
  4. Monitoreo de espacio en disco con df
    El comando df -h muestra el espacio libre en cada sistema de archivos en un formato legible (MB o GB). Es útil para tener una vista rápida de la capacidad y el uso del disco.
  5. Monitoreo de memoria RAM con free
    El comando free informa sobre la memoria disponible y utilizada. Usando free -m o free -g, puedes ver la salida en MB o GB respectivamente, lo cual facilita el análisis de la memoria.
  6. Resumen de comandos de administración de procesos en Linux
    • bg y fg: envían procesos entre segundo y primer plano.
    • top: muestra todos los procesos activos y su consumo de recursos.
    • ps y pidof: detallan el estado y PID de procesos específicos.
    • kill: finaliza un proceso por su PID.
    • nice y renice: ajustan la prioridad de procesos.
    • df y free: proporcionan datos sobre espacio en disco y memoria RAM.

Recuerde:

Utilizar estos comandos te permite administrar de manera eficiente los procesos y recursos en un sistema Linux.

  • Cualquier programa en ejecución o comando dado a un sistema Linux se llama proceso.
  • Un proceso podría ejecutarse en primer plano o en segundo plano.
  • El índice de prioridad de un proceso se denomina Nice en Linux. Su valor predeterminado es 0 y puede variar entre 20 y -19.
  • Cuanto menor sea el índice de amabilidad, mayor será la prioridad que se le dará a esa tarea.
DominioDescripción
bgPara enviar un proceso al segundo plano
fgPara ejecutar un proceso detenido en primer plano
topDetalles de todos los procesos activos
PDProporcionar el estado de los procesos que se ejecutan para un usuario
PID de PSProporciona el estado de un proceso particular
pidofProporciona el ID de proceso (PID) de un proceso
kill PIDMata un proceso
niceInicia un proceso con una prioridad determinada
ReniceCambia la prioridad de un proceso que ya se está ejecutando
dfProporciona espacio libre en el disco duro de su sistema
freeProporciona RAM libre en su sistema

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

Preguntas

  1. ¿Qué función cumple el comando nohup en Linux y cómo evita la terminación de procesos?
  2. ¿Por qué es útil nohup al ejecutar comandos mediante una conexión ssh?
  3. ¿Cómo se inicia un proceso usando nohup y qué archivo genera este comando para la salida?
  4. ¿Cómo se redirige la salida de nohup a un archivo específico?
  5. ¿Cómo se inicia un proceso en segundo plano usando nohup y el símbolo &?
  6. ¿Qué comando permite verificar el PID de un proceso en ejecución, como uno iniciado con nohup?
  7. ¿Cómo se mata un proceso que se ejecuta en segundo plano?
  8. ¿Qué información proporciona el comando df y cómo se usa para mostrar espacio en formato legible?
  9. ¿Qué muestra el comando free y cómo se ajusta su salida a MB o GB?
  10. ¿Cuál es la diferencia entre los comandos bg y fg en la administración de procesos?

Ejercicios

  1. Ejecute un proceso en segundo plano usando nohup y verifique su salida en el archivo nohup.out.
  2. Utilice nohup para ejecutar un script o comando, redirigiendo su salida a un archivo específico y verifique el contenido de este archivo.
  3. Inicie un proceso de ping usando nohup y el símbolo &. Luego, use pgrep para localizar el proceso en ejecución.
  4. Ejecute df -h y describa la información que muestra este comando.
  5. Ejecute free -m y free -g, y compare la salida de ambos comandos.
  6. Utilice nohup para iniciar un proceso que tarde unos minutos y luego cierre la terminal. Verifique que el proceso continúe en ejecución.
  7. Use el comando df --help y man df para listar tres opciones avanzadas que se pueden utilizar con df.
  8. Verifique la versión de nohup en su sistema y mencione qué indica la versión sobre la compatibilidad.
  9. Inicie un proceso en segundo plano con nohup, use pgrep para encontrar el PID, y termínelo con kill.
  10. Ejecute un proceso en segundo plano, verifique su estado con bg, y tráigalo al primer plano con fg.

Respuestas a las Preguntas

  1. Función del comando nohup: Permite que los procesos sigan ejecutándose después de cerrar la terminal al bloquear la señal SIGHUP, que normalmente finalizaría el proceso.
  2. Utilidad de nohup en conexiones ssh: Si una conexión ssh se interrumpe, nohup permite que los procesos continúen ejecutándose, evitando la pérdida de datos.
  3. Iniciar proceso con nohup y archivo de salida: nohup <comando> ejecuta el proceso de manera que continúa en segundo plano al cerrarse la terminal y genera un archivo nohup.out con la salida del proceso.
  4. Redirigir salida de nohup: Usando nohup <comando> > <archivo>, la salida del proceso se guarda en el archivo especificado en lugar de nohup.out.
  5. Proceso en segundo plano con nohup y &: nohup <comando> & ejecuta el proceso en segundo plano, permitiendo que siga ejecutándose sin interacción del usuario.
  6. Verificar PID con pgrep: pgrep <nombre_proceso> permite encontrar el PID del proceso en ejecución, útil para monitorear y administrar procesos iniciados con nohup.
  7. Matar proceso en segundo plano: kill <PID> termina el proceso correspondiente al PID indicado.
  8. Información del comando df: Muestra espacio libre en disco; con df -h la salida es más legible (en KB, MB, GB).
  9. Comando free: Muestra la memoria libre y en uso en el sistema. free -m y free -g muestran la salida en MB y GB, respectivamente.
  10. Diferencia entre bg y fg: bg envía un proceso en primer plano al segundo plano, mientras que fg trae un proceso en segundo plano al primer plano.

Respuestas a los Ejercicios

  1. Proceso en segundo plano con nohup: Ejecutar nohup <comando> & y revisar nohup.out con cat nohup.out para ver la salida del proceso.
  2. Redirigir salida a archivo específico: nohup <comando> > salida.txt & y usar cat salida.txt para ver la salida.
  3. Ping con nohup y &: nohup ping -c 10 <sitio> & seguido de pgrep -a ping muestra el proceso en segundo plano.
  4. Ejecutar df -h: Muestra el espacio de disco en formato legible, con columnas como sistema de archivos, tamaño, usado y disponible.
  5. Comparación free -m y free -g: free -m muestra memoria en MB y free -g en GB, reflejando mejor el tamaño de memoria total y disponible.
  6. Proceso largo con nohup: nohup <comando_largo> &, cerrar terminal y verificar que el proceso sigue con ps aux | grep <nombre>.
  7. Opciones avanzadas de df:
    • -T: Muestra tipo de sistema de archivos.
    • -i: Muestra uso de inodos.
    • --total: Muestra el total de espacio de todos los sistemas de archivos.
  8. Versión de nohup: nohup --version muestra la versión y permite verificar compatibilidad en distintas distribuciones de Linux.
  9. Proceso en segundo plano y kill: nohup <comando> &, obtener PID con pgrep, y usar kill <PID> para terminarlo.
  10. Ejecutar, verificar con bg y traer al frente con fg: comando &, ver en segundo plano con bg, y traer al frente con fg.

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!