Verificar se um processo esta sendo executado [RESOLVIDO]

1. Verificar se um processo esta sendo executado [RESOLVIDO]

luiz azevedo
lwazevedo

(usa Ubuntu)

Enviado em 29/07/2015 - 22:03h

E ai galera blz.

Talvez o assunto do tópico não tão esta claro o que eu quero fazer, vou tentar explicar melhor.

1 - Eu tenho um arquivo que contem os números de loja por linha. Ex:
1
2
3
4
....
2 - Tenho um shell script que executa uma rotina por loja, este sheel script recebe como parametro a loja.

3 - Gostaria de criar um shell script que execute o shell script das lojas, para 4 lojas ao mesmo tempo, e
assim por diante ate chegar ao final.

Pensei em algo deste tipo.

limite=4

for loja in $(cat lojas)
do
whilhe [ lojas.sh = limite ]
do
sleep 30
done
lojas.sh $loja
done

while [lojas.sh = 0 ]
do
sleep 5
done

exit

Obrigado.

























  


2. Verificar se um processo esta sendo executado

Fernando T. Da Silva
nandosilva

(usa Lubuntu)

Enviado em 30/07/2015 - 21:34h


Em uma janela de terminal, use o comando:

ps xa | grep nome do seu script ou um comando que tiver dentro dele



3. Re: Verificar se um processo esta sendo executado [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 30/07/2015 - 22:10h

Olá,

acho que isso resolve:

#!/bin/bash
#
#
#
##########################################################
# As variáveis abaixo devem ser alteradas para os valores#
# reais da sua necessidade #
##########################################################

tempo=300 #5 minutos - tempo que deve esperar a cada lote
lojas=100 # qtd total de lojas
lote=4 #qtd de lojas por vez

##########################################################

# Daqui pra baixo não altere nada (a menos que saiba o que esta fazendo)

vezes=$(($lojas/$lote))
contador=1
for i in $(seq 1 $vezes)
do for loja in $(seq $contador $(($contador+$lote - 1)))
do ./lojas.sh $loja
contador=$(($contador+1))
done
sleep $tempo
done
echo -e "\n FIM\n"



abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


4. Resolvido.

luiz azevedo
lwazevedo

(usa Ubuntu)

Enviado em 31/07/2015 - 10:28h

tonyhts escreveu:

Olá,

acho que isso resolve:

#!/bin/bash
#
#
#
##########################################################
# As variáveis abaixo devem ser alteradas para os valores#
# reais da sua necessidade #
##########################################################

tempo=300 #5 minutos - tempo que deve esperar a cada lote
lojas=100 # qtd total de lojas
lote=4 #qtd de lojas por vez

##########################################################

# Daqui pra baixo não altere nada (a menos que saiba o que esta fazendo)

vezes=$(($lojas/$lote))
contador=1
for i in $(seq 1 $vezes)
do for loja in $(seq $contador $(($contador+$lote - 1)))
do ./lojas.sh $loja
contador=$(($contador+1))
done
sleep $tempo
done
echo -e "\n FIM\n"



abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---




Obrigado tonyhts. era isso mesmo.


5. Re: Verificar se um processo esta sendo executado [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 31/07/2015 - 10:36h

blzaa!

Não esquece de marcar como resolvido.

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts