Nohup processo não rodando em ssh

1

Eu tenho uma pergunta sobre o uso de nohup em uma sessão ssh . Durante mais de três anos, meu software java executou o seguinte comando diariamente usando uma sessão ssh remota:

cd some_path; chmod 777 script.sh; ./script.sh

o conteúdo do script é:

nohup java java_command parameters &

É simples e funciona perfeitamente o tempo todo em máquinas de chapéu vermelho.

Em uma nova instalação de software usando o mesmo ambiente, o comando não está funcionando. Ele também não está funcionando se eu o executar manualmente a partir de qualquer sessão ssh remota. No entanto, se eu alterar o conteúdo de script.sh , removendo nohup e & , o comando funcionará corretamente.

Qual pode ser o problema? As configurações do ssh são as mesmas. A única diferença que descobri é que umask é 0012 na nova instalação e na instalação original era 0022 .

Informações adicionais: A instalação original é um RHEL 5.4 e a nova instalação é um RHEL 6.3. A versão 6.3 é mais restritiva por padrão?

    
por Jose D. Jurado 10.06.2013 / 18:41

1 resposta

2

Seu shell de login mudou?

Experimente. Edite seu script e altere nohup para /usr/bin/nohup .

A razão pela qual pode ser a solução é que os shells de login, como o shell C, possuem sua própria versão de "nohup". O shell C (ou tcsh) nohup aceita um comando, mas não um argumento de comando. Por outro lado, / usr / bin / nohup pode pegar um COMMAND e um argumento de comando opcional, que é a forma como você está usando o nohup.

    
por 11.06.2013 / 00:08

Tags