[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Verificar executar em bg
From: |
Enio |
Subject: |
Verificar executar em bg |
Date: |
Sun, 07 Nov 2010 16:24:21 -0000 |
User-agent: |
eGroups-EW/0.82 |
Olá.
Fiz o seguinte script:
#!/bin/bash
rm -rf relatorio
dire=`ls ./programas`
for prog in $dire; do
"$prog &"
echo "$prog" "$?" >> relatorio
kill -9 $!
done
a intenção é iniciar cada programa desse diretório, capturar o código de erro
apresentado e matá-lo.
O problema é que quando o programa inicia sem erros, ele entra em execução e
não é possível finalizá-lo, para isso eu usei o & que faz o programa executar
em bg, porém, no script, os programas entendem que o & é uma opção e retornam
que essa opção não existe. O mesmo não acontece se eu for direto no terminal e
usar "programa &", onde o programa iniciará o processo em bg.
Por exemplo:
Executando diretamente no terminal:
gnome-calculator &
[1] 3155
Executando através do script:
+ for prog in '$dire'
+ 'gnome-calculator &'
testa_apps.sh: linha 5: gnome-calculator &: comando não encontrado
+ echo gnome-calculator 127
Já tentei a execução do programa sem o uso das aspas - $prog & -, mas ele
sempre retorna 0 quando na verdade o programa (que não é a calculadora do
exemplo) está apresentando o código de erro 139.
Obrigado.
Abs,
Enio Onodera
- Verificar executar em bg,
Enio <=