--- Em shell-script@yahoogrupos.com.br, Valtoir Jardim <valtoirjar...@...> escreveu > > Não sei se serve, mas uso algo parecido no script do link abaixo: > > http://br.groups.yahoo.com/group/shell-script/files/feet.sh
Vou dar uma olhada. > O script tem uma função com o mesmo nome, que é chamada logo após sua Bom, o que eu estou fazendo é um tipo de "autoclicker". Ou um "webhammer". A idéia é fazer um "dump" ou um "bump" em um endereço de Web a cada 15 segundos. Tenho quatro destes endereços, e o limite é que só posso fazer um "bump" no endereço X passados 15 segundos do último "bump" no mesmo endereço X. Atualmente eu faço algo assim: repetir bump X bump Y bump Z sleep 10 até "sempre" Coloquei 10 segundos por que fazer os 3 bumps leva mais ou menos este tempo. Mas esta é só a casca do problema, cada bump pode levar alguns segundos, ou então pode ficar "congelado" (às vezes a página não responde, ou demora muito tempo para responder), de forma que o bump, mesmo, é algo como: timeout 5s lynx --dump X O timeout é um script que encontrei por aí que faz o que o nome diz, chama um comando e aguarda um tempinho, se o comando não terminou neste tempinho, mata o mesmo. Se o comando terminar antes, o timeout termina antes também. Bom, em vez de fazer fazer deste jeito, pensei que cada endereço X, Y Z poderia ter seu próprio "thread", algo assim: bump_thread: repetir hora_fim = date "now+15s" timeout 5s bump agora = date "now" enquanto agora < hora_fim sleep 1 agora = date "now" fim_enquanto até "sempre" O programa principal seria algo do tipo: para endereco em X Y Z faça bump_thread $endereco & fim_faça Para acrescentar mais endereços para "bump", é só acrescentar no laço do "para" no programa principal. E quando o eu fizesse Ctrl+C no programa principal, ele deveria matar todas as threads que havia originado. > Quanto ao lock, será que o ps não é mais efetivo? Se eu entendi, algo do tipo "use o PS para encontrar um PID que tenha como tarefa o mesmo script e, se encontrar e não for o PID da instância atual, cai fora que já tem cópia rodando", certo? Tem algum exemplo? Eu vou dar uma olhada no manual do Bash que o outro colega apontou, se for daí, é só dizer, senão, eu fico feliz se apontares um link... []s