
Eu tinha um processo em segundo plano em execução, cujo comando começa com "nohup nice". Como normalmente leva 20 horas, deixei-o funcionando durante a noite. No entanto, recebi uma mensagem dizendo "falha na gravação: cano quebrado" esta manhã, provavelmente porque o servidor fecha conexões que estão ociosas por muito tempo. Quando entrei no servidor novamente, não há trabalho quando digito o comando "jobs". Como posso reiniciar o programa de onde ele foi deixado, em vez de executá-lo desde o início?
Responder1
Depende de onde você viu essa mensagem. Se você estiver se conectando ao servidor via ssh e viu isso em seu terminal local, tudo bem. O processo provavelmente ainda está funcionando perfeitamente no servidor remoto. Você não o verá jobs
porque jobs
mostra apenas os processos em execução na sessão atual do shell. Se você se reconectou ao servidor, terá iniciado uma nova sessão, portanto jobs
não ajudará. Tente correr ps aux | grep ProcessName
para verificar se ainda está em execução.
Se você viu esta mensagem em nohup.out
seu arquivo de saída, não pode. Não, a menos que seja um processo que de alguma forma suporte a retomada. O erro significa que o processo foi interrompido. Como foi interrompido, desapareceu, não há como recuperá-lo.
Se isso fosse, por exemplo, ler um arquivo de entrada e produzir uma saída, você poderia tentar descobrir quando ele parou e executá-lo novamente, fornecendo apenas as linhas restantes como entrada. Não há nenhum truque que possa fazer com que ele reinicie magicamente, já que não há registro de quando ele parou.