script para reiniciar un proceso en linux si esta parado

En este artículo voy a explicar como crear un script en linux con el que podemos reiniciar o arrancar un proceso que se ha parado.

Esto es una solución cuando ya se ha dado el problema de que un proceso se para.

En mi caso he aplicado este script a una máquina donde está ejecutándose memcache, pero por alguna razón que todavía no he determinado, memcached se para, pero es muy importante que memcached esté siempre corriendo porque las sessiones de usuario se guardan en memcache, así como cierta información que tiene que estar cacheada.

Puedes usar la base de este script para adaptarlo al servicio que sea.

Crear el script para reiniciar el proceso

En una carpeta donde guardes todos los shell script crea el archivo check_proceso.sh

En este ejemplo voy a definir que el servicio que quiero reiniciar es memcached pero puede ser cualquier otro.


#!/bin/bash
RESTART="/etc/init.d/memcached restart"
PGREP="/usr/bin/pgrep"
MEMCACHED="memcached"
# buscamos que exista el proceso
$PGREP ${MEMCACHED}
# sino existe id de proceso y el comando anterior devuelve 0
if [ $? -ne 0 ]
then
# restablecemos memcached y enviamos un email
$RESTART | mail -s "Memcache Restart en bbdd4 `date "+%c"`" support@pedroventura.com
fi

Configurar el script en un cron

Ahora hay que crear una tarea programada para que ejecute de manera constante el script, para ello lo metemos en el crontab.
El cron hay que configurarlo como root porque el script reinicia el proceso y necesita tener privilegios de root.

Ejecuta el siguiente comando

crontab -e

Esto abrirá el editor de texto por defecto. Añade la tarea. En este caso vamos a definir que se ejecute cada 5 minutos.

*/5 * * * *  /bin/sh /root/shell_scripts/check_proceso.sh

Guarda los cambios y ya podrás salir.

Si tienes dudas o preguntas no dudes en dejar un comentario

Tags de búsquedas:

reiniciar un proceso en linux,linux script creación,proceso de scrip,reiniciar proceso linux,linux script para saber si un proceso esta andando,manual poner scrip reinicio en un vps,parar todos los servicios linux,reiniciar dispositivos bash script,reiniciar proceso en linux,reiniciar procesos en linux,reiniciar servicio sh,reiniciar un proceso parado,script de comprobación de arranque linux,script reiniciar,script reiniciar proceso si encuentra cado

Contenido patrocinado

7 comentarios en script para reiniciar un proceso en linux si esta parado

  1. Emilio Arenas
    / Responder

    Hola, para confirmar, dices que puede adaptarse a cualquier proceso. Se me para el ventilador/disipador de la cpu pasadas unas horas o en momentos en los que mi sistema requiere mucha memoria (no lo puedo confirmar pero lo parece) ¿Puedo usarlo para revivir el ventilador y que refrigere de nuevo mi chip?

  2. Victor M M M
    / Responder

    me ayudo ya que tenia el mismo problema con el squid

    Gracias, saludos

  3. tonny lopez
    / Responder

    Buenas tardes, tengo virtualizado mi servicio web, pero a veces se detiene y verifico su estado en el servidor con el comando:
    virsh –all este me presenta las maquinas que estan corriendo en ese momento y encuentro que esta corriendo (running). lo unico que siempre tengo que hacer es:

    virsh destroy web y luego virsh start web.
    Es la unica manera que funciona nuevamente. Mi pregunta es si puedo crear un script que me reinicie ese servicio sin necesidad de ser manual, sobre todo los fines de semana?.
    Gracias y atento.

  4. carlos
    / Responder

    Buenas tardes gracias por la info, es de utilidad
    Tengo un pequeno problema, espero que me puedan ayudar.
    Quiero utilizar crontab -e para ejecutar un proceso cada minuto, edito el archivo crontab a travez de la consola, su ubicacion como todos sabemos es /var/spool/cron/crontab/(documento Crontab)
    La linea quedaria asi: */1 * * * * home/(usuario)/Documents/(script).sh
    Y resulta que no se ejecuta, y el script ya lo he probado y funciona bien.
    Gracias por la atencion

  5. carlos
    / Responder

    buenas tardes, gracias por la informacion,

  6. Pingback: Cómo crear un script que vigile el funcionamiento de un proceso | Bokunoshumi

  7. / Responder

    Muy buen contenido

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Comparte este artículo! »

Sígueme en Facebook »

  • Sergio (2 semanas)
    Expongo mi problema: He creado un videojuego en RV para…
  • diseño web (2 semanas)
    Gracias por el post, me tenia loco el tema de…
  • Gina (1 mes)
    Hola, gracias por el artículo. He seleccionado Cakephp como framework,…
  • Yesika (2 meses)
    hola Yo tengo un caso similar, tengo 5 texbox y…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

profile for Pedro Ventura on Stack Exchange, a network of free, community-driven Q&A sites
Leer entrada anterior
Plugin en WordPress para cumplir la ley de cookies española

Desde hace unos meses que muchas webs profesionales en España han integrado la funcionalidad para hacer cumplir la ley de...

Cerrar