[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] script para fila de job?!
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] script para fila de job?! |
Date: |
Fri, 27 Aug 2004 22:06:50 -0300 |
Caro ltcosta (vc esqueçeu de colocar seu nome),
o loop que vc pretende é +/- o seguinte:
for prog in prg1 prg2 prg3 prgn
do
$prog
done
isto é, a variável prog assumiria o nome de cada programa na lista e em
seguida executaria um-a-um.
Porém, se por algum motivo esta solução não atender, o melhor que vc tem a
fazer é monitorar o sinal 17 com um trap. Toda vez que um processo filho
termina, um sinal 17 é gerado. Teste com as seguintes linhas:
Prompt> trap "echo processo filho terminou" 17
em seguida faça:
Prompt> sleep 3&
3 segundos após, vc receberá a msg: "processo filho terminou"
Para restaurar o sinal para o seu default faça:
Prompt> trap 17
Existe tb um built-in do shell que é o cmd wait, assim vc pode montar um
loop disparando os programas em backgound e fazendo um wait $!, já que $!
contem o PID do último programa colocado em bg.
PS: Estarei fora da lista por uma semana pois estarei dando um curso na
Hacker Union, evento de treinamento gratuito que acontecerá em Curitiba na
próxima semana (detalhes em
http://www.gnus.com.br/index.py?a=show_ev&id=76).
Espero que tenha atendido. Sucesso,
Julio Cezar Neves
- Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden
| -----Mensagem original-----
| De: address@hidden [mailto:address@hidden]
| Enviada em: sexta-feira, 27 de agosto de 2004 21:08
| Para: address@hidden
| Assunto: [shell-script] script para fila de job?!
|
|
|
| Pessoal, tenho uma questão. uso um cluster com administração
| particular
| (Um centro de computação). Algumas máquinas são requisitadas pelos
| usuários e torna-se complicado colocar um monte de trabalho
| na fila, pois
| o adm pode barrar. Estava pensando: Poxa, poderia checar com o ps
| -(opções) ou top se o trabalho que enviei está rodando ou
| não. Caso não
| mais esteja um script executa um novo trabalho.
|
| O problema é que não sei como posso fazer isto, pois teria
| que fazer um
| loop no tempo para saber com o ps ou top se o padrão de
| executável está
| rodando na lista.
|
| Seria algo assim:
|
| #!/bin/bash
| #PBS -N gauss_job
| #PBS -j oe
| #PBS -l ncpus=1
| #PBS -q short
| g03root="/usr/local"
| GAUSS_SCRDIR="/pmt/ltcosta"
| export g03root GAUSS_SCRDIR
| . $g03root/g03/bsd/g03.profile
| cd /pmt/ltcosta/metil
| echo "estou em alcateia" >> c1mim.out
| echo "inicio do job: c1mim" >> c1mim.out
| date >> c1mim.out
| g03 c1mim.com <-----(este é executable file!!!)
|
| em outro file devo colocar um script e checar se:
|
| ##############################################################
| ############
| CPU1 states: 40.4% user 1.3% system 0.0% nice 0.0%
| iowait 57.1% idle
| CPU2 states: 0.0% user 0.0% system 0.0% nice 0.0%
| iowait 100.0% idle
| CPU3 states: 0.2% user 1.1% system 0.0% nice 0.0%
| iowait 98.1% idle
| Mem: 2581468k av, 2568324k used, 13144k free, 0k
| shrd, 208224k buff
| 1409696k actv, 363388k in_d, 58376k in_c
| Swap: 5245180k av, 49864k used, 5195316k free
| 2086980k
| cached
|
| PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME
| CPU COMMAND
| 24268 ltcosta 25 0 67048 64M 2532 R 99.3 2.5 3:14
| 3 l502.exe
| 673 nobody 15 0 1504 1440 716 S 3.1 0.0 123:19
| 1 gmetad
|
| Vejam que USER = ltcosta seria meu job. Nesta lista
| possivelmente poderá
| existir outros USER. Talvez alguém já tenha feito isto, mas
| quero tentar
| fazer. Qualquer dica é bem vinda, sites e material para leitura.
|
| Pensei em fazer com AWK tb, o que acham?!?!
|
| t +
|
|
|
| ---------------------------------------------------------------
| Universia Brasil. Em todas as fases da vida acadêmica.
| Acesse o portal e confira nossos serviços e benefícios:
| http://www.universiabrasil.net/
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] script para fila de job?!,
Julio Cezar Neves - DATAPREVRJ <=