é possível executar o job em primeiro plano após o logout do usuário

1

Eu tenho algum trabalho para executar que precisa ser anexado ao terminal (ou em primeiro plano). O trabalho é executado em servidores remotos e precisa continuar sendo executado após o logout dos usuários. Estou ciente do servidor vnc, no entanto, eu quero saber se existe alguma ferramenta embutida em redhat que pode resolver isso. (isto é, eu não tenho sudo para instalar software extra).

    
por Richard 04.10.2012 / 21:22

2 respostas

1

A tela GNU é o que você está procurando. Ele é pré-instalado em todos os sistemas * nix que eu usei, então deveria estar na Red Hat. screen atua como um servidor de terminal, que pode ser anexado e desconectado dos clientes do terminal. Ele permite possibilidades interessantes, como ter a mesma sessão de terminal sendo visualizada por vários clientes ao mesmo tempo, várias abas, tela dividida (horizontal), destacamento remoto (de outros clientes), etc.

Se a sua conexão ssh falhar de forma imprevisível, seu comando anterior em execução não saberá sobre isso e continuará sendo executado normalmente. Você pode ter 10 programas diferentes sendo executados em 10 guias diferentes na tela e todos eles continuarão sendo executados. Você pode então reconectar (após o login), com algumas variantes diferentes do mesmo comando - o que eu uso é: -

 screen -RD

Isso significa reconectar sua sessão de tela anterior ao terminal atual e o IIRC desconecta qualquer outro cliente que ainda possa estar conectado.

Para enviar um comando para screen , quando você estiver em uma sessão, por padrão, use o prefixo "Ctrl + a", antes de pressionar outra letra, para, por exemplo, criar ou fechar uma janela. Existem montes de folhas de dicas on-line e, claro, há sempre a página de manual para mais informações se você precisar.

A tela existe há muito tempo, por isso existem alternativas mais recentes. Eu mudei para tmux há um ano ou mais, e não olhei para trás. Isso provavelmente exigiria a compilação, mas permite a divisão vertical da tela, que é a principal razão pela qual eu a favoreço.

As soluções acima evitam sua pergunta. Eles fornecem soluções desde que você ainda não tenha iniciado seu programa. Se você tiver um programa de longa duração que não foi criado em uma sessão screen ou tmux , ainda poderá recuperá-lo. Você não poderá recuperar o histórico da linha de comando, AFAIK, mas poderá recuperar o controle do processo. O programa que usei para isso é reptyr , que construí e usei com sucesso nos sabores do Mac OSX e do Debian Linux . IIRC, isso requer privilégios de sudo para rodar embora.

    
por 22.10.2012 / 00:12
0

Para iniciar um terminal de primeiro plano "oculto":

ssh server.com -t tela -S applicationName [/ usr / bin / executable]

Para desanexar (ocultar): CTRL + A D
Para anexar (continuar): ssh server.com -t screen -r applicationName

    
por 21.10.2012 / 22:58