Crear servicio en Linux

Para crear nuestro propio servicio en Linux debemos hacer un script en /etc/init.d, darle permisos de ejecución (755) y asociarlo a los runlevels que queramos. El script debe seguir unas pautas necesarias o no funcionará.

La cabecera ha de ser como sigue:


#!/bin/bash
#
# Startup script for WebSeniorDaemon
#
# chkconfig: 345 99 01
# description: WebSeniorDaemon process
# processname: webseniordaemon
#

Esto nos indica que se ejecutará en la shell bash, la linea chkconfig es necesaria para que luego podamos asociarlo a los runlevels, con S99 y K01 si fuera necesario.

A continuación debemos definir 2 funciones OBLIGATORIAS, start y stop:


start() 
{
   echo $"Inicio Servicio"
}

stop() 
{
   echo $"Servicio Parado"
}

Existen otras funciones opcionales, como depend(), donde indicaremos los requerimientos del servicio


depend() 
{
   need net
}

Una vez definidas debemos indicar el flujo del servicio según el argumento que le pasemos (start, stop o restart), añadimos:


case "$1" in
   start)
      start
      ;;
   stop)
      stop
      ;;
      ;;
   restart)
      stop
      start
      ;;
   *)
      echo $"Uso: service webseniordaemon {start|stop|restart}"
      exit 1
esac

Finalmente añadimos la linea de fin de script


exit

No olvidar darle permiso de ejecución y asociarlo a los runlevels necesarios:


$chmod 755 webseniordaemon
$chkconfig -level 235 webseniordaemon on

Anuncios

Etiquetado:,

Un pensamiento en “Crear servicio en Linux

  1. Jtux mayo 26, 2010 en 3:34 pm

    Gracias Amigo si sirvio..esto fue lo que hice..lo necesitaba para cambiar la mac..aqui lo dejo..la idea es colocarlo despues de que el sistema inicie la tarjeta de red, en el caso de suse fui al yast2 en el editor de niveles de ejecucion y lo coloque que iniciara en el nivel 5, tambien seleccione una S que no que es..jeje.

    case “$1” in
    start)
    ifconfig eth0 down
    ifconfig eth0 hw ether 00:1C:C4:D7:1F:81
    ifconfig eth0 up
    ;;
    stop)
    echo “DETENER”
    ;;
    *)
    exit 0
    esac

    Para Completar el Manual:
    http://www.ubuntu-es.org/index.php?q=node/26802

    Gracias Saludos..

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: