nohup ou processo persistente no Mac OS X ssh


9

Sei que isso já foi perguntado antes, mas nenhuma das respostas parece funcionar no OS X Mountain Lion. Eu gostaria de iniciar um processo via SSH e fechar o terminal sem interromper o processo.

nohup ccl64 -e '(ql:quickload :"file")' & 

Não funciona Quando o terminal está fechado, o processo morre.

nohup ccl64 -e '(ql:quickload :"file")'

O mesmo aqui.

Eu acho que deve haver um caminho. Isso é muito irritante, pois funciona como padrão em qualquer sistema Linux, mas o Mac OS X se recusa a trabalhar com qualquer uma dessas combinações.

Respostas:


9

Uma coisa que sempre funciona é screen. http://ss64.com/osx/screen.html , parece estar disponível no Mac OS X por padrão.

Edite: http://web.archive.org/web/20130413070916/http://macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html outra tela sobre o tutorial.

Além disso, aqui estão algumas dicas rápidas sobre como usar screen

Abra uma nova instância de 'tela'

$ screen

Uma vez, na tela, você pode "desconectar" (ou fechar) a tela assim:

ctrl+A and then press D

Para retomar uma tela, você normalmente faz o seguinte:

$ screen -x

Se você tiver mais de uma instância de tela, ele informará os respectivos IDs; nesse caso, você poderá escolher qual deles deve continuar assim:

$ screen -r <screen id>

so over ssh eu faço screen e depois passo o comando nohup? com ou sem o & no final?

Não há necessidade nohup. Basta fazer a tela ccl64 ... &. Mais tarde, se necessário, você pode reconectar-se com a tela -R para monitorar o progresso. Em alternativa, basta executar tela e digite o comando lá, você pode destacar com Ctrl + A D.
chx

obrigado, é possível salvar a saída da tela em um arquivo após o lançamento?

Claro, a tela pode fazer tudo. Você quer a tela -X hardcopy. Veja bbs.archlinux.org/viewtopic.php?id=47521 para obter mais.
Chx

5

Tente em screenvez disso, ele ainda deve fazer parte da instalação padrão. Algumas pessoas até usam a tela como seu shell padrão, para que não precisem se preocupar com o nohup.


2
você poderia descrever como executar um comando nohup com tela?

Você usa a tela em vez de nohup e desanexa a tela. Seu programa continuará funcionando mesmo se a sessão ssh terminar.
Sven,

Veja man screenpara detalhes.
Sven,
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.