shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Rodar script como daemon na inicialização


From: Julio C. Neves
Subject: Re: [shell-script] Rodar script como daemon na inicialização
Date: Thu, 9 Jan 2014 17:56:39 -0200

Fala Xará,
vou te dar a teoria do negócio e aproveitar para explicar direitinho, pq muita gente deve ignorar isso.

Muita gente acha que se colocar um prg em background ele vira daemon. Conceito totalmente errado, pq ele fica dependente do terminal que o disparou. Para criar um daemon é necessário usar o cmd nohup. Qdo vc faz:

nohup scr.sh &

Ele tentará criar um arquivo chamado nohup.out no diretório corrente. Se vc não tiver as permissões necessárias nesse diretório, ele o criará no seu home. Esse é o pulo do gato, pois o terminal fica desnecessário, já que todas as saídas serão redirecionadas para esse arquivo.

Em seguida, dê logout. Qdo vc faz isso, ele se desfaz do único laço que ainda o prendia a vc e é imediatamente adotado como um filho do init, virando dessa forma um daemon.

Acho que essa teoria vai ajudar muita gente pq isso não é muito conhecido.

Abcs,
Julio
@juliobash

Próximos cursos de Shell

Cidade

Local

Período

São Paulo

4Linux

03-07/02

Curitiba

SoftSell

17-21/02

Rio de Janeiro

EDX

10-14/03

Dou treinamento de shell em qualquer cidade.
Para detalhes, entre em contato por email ou
echo 436233889341364416673541503686485725801923229706P | dc 



Em 9 de janeiro de 2014 15:52, <address@hidden> escreveu:
 

Prezados

Possuo o script abaixo:

#!/bin/bash

target_host="miguel"

if [ "`hostname`" != "$target_host" ];then
echo "This daemon runs only on $target_host" >&2
exit -1
fi

if [ "$1" == "start" ];then
op="start"
elif [ "$1" == "stop" ];then
op="stop"
else
echo "usage: `basename $0` <start|stop>" >&2
exit -2
fi


cd /u/user1/producao
exec ./ws sga $op gdsi-miguel



Preciso que o mesmo rode como daemon, na inicilização do meu RHEL 5.5 ou seja, sempre q a maquina inicializa;  Como um serviço qualquer do unix, só que ele precisa rodar com o usuário chamado user1 , e não como root.

Poderiam me ajudar??



reply via email to

[Prev in Thread] Current Thread [Next in Thread]