Pular para o conteúdo

Daemons com shell script

Neste artigo mostrarei como criar daemons em shell script no Linux.
Joe Pereira Nascimento joenascimento
Hits: 36.932 Categoria: Linux Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

Parte 3: 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.

   1. Criando um daemon simples
   2. Incrementando o daemon
   3. Script de inicialização
Nenhum artigo encontrado.

Instalando Wine no Fedora sem mistério

Geração de arquivos PDF no Linux

Instalar o TeamViewer no Ubuntu/Debian

Integração MRTG e RRDTool

Mantendo seus dados em segurança com o EncFS

#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

Entre na sua conta para comentar.