Daemons com shell script

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

[ Hits: 35.249 ]

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

Masterização de VCD's com menu interativo

Traduzindo legendas de maneira prática no Linux

Instalando OpenBSD no vmware

Switch HP + Gerenciador Console + VLAN + DMZ + CentOS com VLAN

HaikuOS

  
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