´e o seguinte, acesso um computador via ssh e nesse computador há um programa servidor...
Eu gostaria de acessar por ssh, executar o programa servidor, fechar o ssh e mesmo assim o programa continuar rodando...
como faço isso?
´e o seguinte, acesso um computador via ssh e nesse computador há um programa servidor...
Eu gostaria de acessar por ssh, executar o programa servidor, fechar o ssh e mesmo assim o programa continuar rodando...
como faço isso?
só curiosidade: se é ação repetitiva, não é melhor usar o crontab??
Pois é... ou entao usar o at, que usa o crontab :P
não é repetitiva, aliás, seria um servidor que deveria estar 100% online, porém as vezes é necessário alguma atualização, recompilação etc... ou até mesmo o programa cai...
então tenho que entrar por ssh e liga-lo novamente...
sendo assim, minha dúvida ainda continua.
bem.. de acôrdo com alguma documentação que procurei (vide http://www.linuxplanet.com/linuxplan...orials/2116/1/ ) vc pode executar isso em batch ou por crontab mesmo. Tempos atrás precisei fazer isso - na verdade, um script de firewall TESTE, que me jogava pra fora (risos) quando iniciava. Fiz um *.sh (script) que acionava o NOVO firewall teste e depois chamava o normal, de modo que eu pudesse me re-logar. Bem, é assim:
faça um script qualquer chamando o programa que vc quer que funcione:
#!/bin/bash
comando qualquer para executar
---
atribua (chmod -fv 0655) como executável e chame-o pela linha de comando:
$ nome_do_batch.sh &
é o *sh que vc acabou de criar. O ´&´ vai atirar êsse shell para o segundo plano.
Funcionou - naquela época - mas sugiro vc experimentar o logoff, login e VERIFICAR se o processo está no ar:
ls -la | grep ´seu usuário´
provávelmente será um dos últimos.
divirta-se.
No slack com um terminal usando bash eu faco assim: abro um terminal, dou um ssh no servidor, corro o program (run the program (auhauhauah!)), aperto ctrl+z (o programa pausa), e dou um bg para o programa ficar rodando em background, ae fecho o terminal sem me deslogar.
Num sei se eh "gambiarra" mas funciona :-D
se é só pra mandar pro background, execute assim:
imagine que é o prompt:
bash-3.00# programa_que_vai_pro_background &
simples assim...........
agora, se o programa estiver tentando escrever pro stdout, vc não vai conseguir fazer logout (o terminal é um arquivo, não se pode destruir um arquivo que está aberto por outro programa!!!!!!!!!!) então execute
bash-3.00# prog_q_v_p_bg & 1>/dev/null 2>/dev/null
que o programa vai abrir o /dev/nulll, que pode ser substituido por um arquivo qualque de sua escolha, onde o programa vai escrever toada a sua saída normal a a saidade erro.
O problema é que tem alguns programas que mesmo colocando pra rodar em background ele finaliza quando vc desloga.
programas estranhos entao... tenta executar eles com 'nohup' entao