Daemons com shell script

Neste artigo mostrarei como criar daemons em shell script no Linux.

[ Hits: 34.809 ]

Por: Joe Pereira Nascimento em 26/09/2011 | Blog: http://tiopatinhaslinux.sytes.net:2080


Script de inicialização



O daemon criado pode ser executado pelo usuário root ou ser executado pelo init na inicialização. Podemos criar um script de start/stop/restart/status para controlar o daemon.

Vamos criar o script de inicialização: /etc/init.d/daemon

Obs.: Este arquivo deve ser criado como root.

#!/bin/bash
# /etc/init.d/daemon

typeset -x PID=$(pgrep daemon.sh)

do_start() {
        if [ -f /tmp/daemon.lock ]
        then
                /usr/local/bin/daemon.sh &
                sleep 0.3
        else
                /usr/local/bin/daemon.sh &
                sleep 0.3
                echo "Iniciando o daemon.sh: Processo: $PID"
        fi
}

do_stop() {
        kill -15 $PID 2>/dev/null &
        echo "Parando o daemon.sh"
}

do_restart() {
        if [ -f /tmp/daemon.lock ]
        then
                kill -15 $PID 2>/dev/null &
                echo "Reiniciando o daemon.sh: Processo: $PID"
                sleep 1
                /usr/local/bin/daemon.sh &
        else
                do_start
        fi
}

case "$1" in
        start)
                do_start
                ;;
        stop)
                do_stop
                ;;
        restart)
                do_restart
                ;;
        status)
                if [ -f /tmp/daemon.lock ]
                then
                        echo "o daemon.sh está rodando com sucesso"
                else
                        echo "o daemon.sh está parado"
                fi
                ;;
        *)
                echo "*Modo de uso: /etc/init.d/daemon (start|stop|restart|status)"
                ;;
esac

Nosso daemon tem que estar na pasta /usr/local/bin ou em qualquer pasta que seja interpretada pela variável PATH.

O script de inicialização está criado, agora basta colocarmos nos runlevels:

# update-rc.d daemon defaults

Para remover da inicialização:

# update-rc.d -f daemon remove

Pronto! Basta escolher qual será a função do daemon e pronto.

Página anterior    

Páginas do artigo
   1. Criando um daemon simples
   2. Incrementando o daemon
   3. Script de inicialização
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

O "Linux Tinha Chapéu"

Compilando e instalando programas com o apt-build

I Encontro da Comunidade Viva o Linux

Gtk-Qt Engine: temas Qt em aplicações GTK

YUMI - Criando pendrives multiboot pelo GNU/Linux

  
Comentários
[1] Comentário enviado por fabio em 26/09/2011 - 22:11h

Grande Joe, sempre trazendo trabalhos interessantes.

Um abraço.

[2] Comentário enviado por edirlf em 27/09/2011 - 16:54h

Já para os favoritos.
Parabéns!!!!!!!

[3] Comentário enviado por nullck em 28/06/2012 - 08:20h

Que tal deixar o inicio do script assim:

#!/bin/bash
# /etc/init.d/daemon
# chkconfig: 2345 80 30
# description: alguma coisa


... continua script

Agora podemos adicionar na inicialização de distribuições like redhat como fedora, centos, redhat , usando chkconfig:

chkconfig --level 2345 daemon on

=D


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts