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

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

Re: [shell-script] Re: Estrutura de script para criar fila de espera


From: Robson Alexandre
Subject: Re: [shell-script] Re: Estrutura de script para criar fila de espera
Date: Fri, 18 Sep 2015 17:16:48 -0300

Fernando,
não tinha pensado no wait. Mas como poderia referenciar a ordem da fila para a terceira, quarta, quinta chamadas do script?
Como dito pelo Itamar, preciso do pid das rotinas para ordená-las.

Itamar e Rodrigo, vcs estão completamente certos. Eu teria de gravar o pid da primeira chamada do script p.e. em /var/run/script.pid e consultar se pid atual é igual a pid em script.pid. Acredito q assim, esse arquivo sirva como uma espécie de lock e a informação do primeiro processo executado.

[ ! -f $dir/script.pid ] && {
echo $$ > $dir/script.pid
} || {
    ps -p $(cat $dir/script.pid) || {
        processos=( $(pgrep $0) )
        [ ${#processos[@]} -eq 1 ] && echo $$ > $dir/script.pid || { echo ERRO: Execução da rotina interrompida; exit 1; }
    }
}
pid=$(cat $dir/script.pid)
[ $$ -ne $pid ] || {
    execRotina
    rm /var/run/script.pid
    execScriptSeTiverQueue
} && {
    addQueue
}

EOF



Atenciosamente
Robson Alexandre


Em Qui, 17 de set de 2015 14:44, Rodrigo Tenorio address@hidden [shell-script] <address@hidden> escreveu:
 

Obrigado, Itamar.

Então se eu estou certo, seria algo do tipo:

vOutroPid=$(pgrep "$0" | grep -v "$$");

[ -z "$vOutroPid" ] Echo "Executa rotina" || Echo "Add Queue";

Com isso, em teoria seria possível a própria rotina saber se há outra instancia dela em execução.
Certo?





Em 17 de setembro de 2015 14:19, address@hidden [shell-script] <address@hidden> escreveu:
 

Respondendo ao Rodrigo


O script pode saber seu próprio script invocando "$$":

As vezes uso a variável no nome de arquivos temporários que um script precise usar.

Um comando interessante para saber todos os PID's de um determinado comando é o "pgrep". Acredito que sirva para o propósito que sugere.

[]'s
Itamar



reply via email to

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