Responder 
 
Avaliação do Tópico:
  • 0 Votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Como matar um processo em shell script
25/09/2012, 16:27
Resposta: #1
Como matar um processo em shell script
sou iniciante em shell script e gostaria de uma ajuda de vocês, por favor.
Tenho um shell diário que transfere arquivos *.txt de uma máquina windows para uma máquina unix.
Não descobrimos ainda, mas alguns dias a máquina windows gera erro e não conseguimos realizar a transferencia.

O comando fica "preso" na seguinte tela:
150 Opening ASCII mode data connection for 120924_VALORES.TXT(4674 bytes).

O que gostaria seria que antes de iniciar o processso houvesse um time de x segundos e que se fosse atingido esse tempo o processo finalizasse.
Pelo que pesquisei o sleep faria isso, mas acho que não estou sabendo usar o comando pois não funciona.
Alguém poderia me ajudar?

O tempo medio de execução, quando há sucesso, é de 12 minutos.

Muito obrigado.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
25/09/2012, 17:01
Resposta: #2
RE: Como matar um processo em shell script
killall "nome/caminho do processo em execução" Observe se o processo leva 12 min para ter êxito então além desse tempo mate-o (sem virgula) Alegre

........
sleep 720; killall <caminho absoluto do processo> # 720 é em segundos.
Existe formas mais limpa e dignas de serem escritas quando um processo falha e o escript detecta o erro então aciona a chave "exit" com erro. Estude sobre o comando "case-esac". Abraços.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
25/09/2012, 18:30
Resposta: #3
RE: Como matar um processo em shell script
Fala cara, blz?
o killall não mataria todos os processos em execução?
sou iniciante em unix.
obrigado pela ajuda.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
25/09/2012, 22:00
Resposta: #4
RE: Como matar um processo em shell script
o killall não mataria todos os processos em execução?
Não. Mata apenas o processo especificado. Você deve experimentar e ver se da certo. Lembro que fiz um script a muito tempo que usava barra de progresso e o comando sleep foi essencial para completar a sequência. O killall acompanha o mesmo processo.
Lembre que existe maneira mais limpa de fazer isso acionando chaves no script.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
26/09/2012, 00:49
Resposta: #5
RE: Como matar um processo em shell script
uma outra maneira de fazer isto é executar o comando top para saber o pid do programa em questa e executar o kill pid
que ficaria assim kill 1111 basta ver na lista do top e trocar o 1111 pelo numero do programa

Jvianez
Todo Cristão é Livre use Linux e não seja Pirata.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
30/09/2012, 03:09
Resposta: #6
RE: Como matar um processo em shell script
Mas se é um script o PID muda sempre, o script não, ele pode matar qualquer processo que esteja usando o PID 1111.

Isso é altamente não recomendável.

Código:
kill -9 $(pidof PROGRAMA)

Lucas Saliés Brum
site | blog | telegram | medium | vk | twitter | github | .share
Visitar o website do usuário Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
Responder 


Ir ao Fórum:


Usuários visualizando este tópico: 1 Visitantes

Entre em Contato | Fórum Debian | Voltar ao Topo | Voltar ao Conteúdo | Modo Leve (Arquivo) | Feeds RSS