Usando nohup quando a entrada inicial é necessária

5

Em um sistema linux existe alguma maneira de usar o nohup quando o processo que está sendo processado é necessário, como um comando rsync que precisa de uma senha para ser digitado, mas que irá rodar livremente por conta própria?

    
por DrStalker 08.10.2009 / 08:12

5 respostas

17

Se o comando não precisar ser roteirizado, você pode fazer desta maneira:

  1. executá-lo em primeiro plano
  2. pause (CTRL + Z)
  3. rejeite-o para que ele não seja fechado quando você fechar o shell (disown -h% jobid)
  4. retome o trabalho em segundo plano (bg% jobid)
por 08.10.2009 / 08:53
9

Você quer ver a tela. Tela irá criar uma sessão de shell para você, que você pode desanexar e depois reconectar em uma data posterior. Experimente:

 # screen rsync -a directory server@directory

Você pode digitar sua senha, verificar se ela está funcionando como esperado e, em seguida, pressionar 'ctrl-a' seguido de 'd'. Agora você deve estar desconectado da sua sessão de tela. Se você quiser ver como está se saindo, corra

 # screen -r

e você deve ser recolocado. 'ctrl-a' 'd' irá separá-lo novamente.

Quando o comando terminar, a tela deve sair.

    
por 08.10.2009 / 08:53
2

Se possível, pode ser melhor para a instância específica da execução de um comando rsync configurar a autenticação da chave SSH sem uma senha em vez de tentar inserir automaticamente uma senha no rsync.

    
por 10.10.2009 / 00:12
2

Alguns módulos no daemon remoto podem requerer autenticação. Se assim for, você receberá uma solicitação de senha quando você se conectar. Você pode evitar o prompt da senha configurando        a variável de ambiente RSYNC_PASSWORD para a senha que você deseja usar ou usando a opção --password-file. Isso pode ser útil quando o script rsync.

encontrou isso na página man

    
por 26.07.2011 / 23:33
1

Além do que foi dito acima, a solução mais geral pode ser envolver o comando em um script que receba entrada de um arquivo e o transmita (talvez usando pipes, ou espere, ou algo parecido). O script wrapper em si é, então, apenas um comando normal que não requer entrada, é claro.

    
por 08.10.2009 / 12:52

Tags