Enviado em 03/05/2013 - 08:23h
Pessoal,
Sou iniciante em Linux, em shell script então...
Estou com um problema que pode ser simples, mas não consigo resolver.
Vou explicar com um script genérico:
#!/bin/bash
comando &
echo 1
A minha ideia é rodar o "comando" em background e enquanto isso, executar o echo. O problema é que quando rodo o script, primeiro ele executa o "echo" e depois o "comando". Não entendo porque isso acontece.
Minha necessidade real: meu script vai rodar um comando "infinito" tipo um ping, por exemplo, logo queria rodá-lo em background (ping &), pra depois pegar o PID (PID=$!) dele e após um tempo (sleep x), matar o processo (kill $PID) para que o script possa finalizar. Há alguma forma de fazer isso?
Obrigada.
Sou iniciante em Linux, em shell script então...
Estou com um problema que pode ser simples, mas não consigo resolver.
Vou explicar com um script genérico:
#!/bin/bash
comando &
echo 1
A minha ideia é rodar o "comando" em background e enquanto isso, executar o echo. O problema é que quando rodo o script, primeiro ele executa o "echo" e depois o "comando". Não entendo porque isso acontece.
Minha necessidade real: meu script vai rodar um comando "infinito" tipo um ping, por exemplo, logo queria rodá-lo em background (ping &), pra depois pegar o PID (PID=$!) dele e após um tempo (sleep x), matar o processo (kill $PID) para que o script possa finalizar. Há alguma forma de fazer isso?
Obrigada.