+ Responder ao Tópico



  1. #1
    schachspiel
    Visitante

    Padrão executar programa em outro terminal [ssh]

    ´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?

  2. #2

    Padrão Re: executar programa em outro terminal [ssh]

    só curiosidade: se é ação repetitiva, não é melhor usar o crontab??


  3. #3
    felco
    Visitante

    Padrão Re: executar programa em outro terminal [ssh]

    Pois é... ou entao usar o at, que usa o crontab :P

  4. #4
    schachspiel
    Visitante

    Padrão Re: executar programa em outro terminal [ssh]

    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.

  5. #5

    Padrão Re: executar programa em outro terminal [ssh]

    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.


  6. #6

    Padrão Re: executar programa em outro terminal [ssh]

    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

  7. #7

    Padrão Re: executar programa em outro terminal [ssh]

    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.

  8. #8

    Padrão Re: executar programa em outro terminal [ssh]

    O problema é que tem alguns programas que mesmo colocando pra rodar em background ele finaliza quando vc desloga.

  9. #9

    Padrão Re: executar programa em outro terminal [ssh]

    programas estranhos entao... tenta executar eles com 'nohup' entao