nohup o proceso persistente en Mac OS X ssh

9

Sé que esto se ha preguntado antes, pero ninguna de las respuestas parece funcionar en OS X Mountain Lion. Me gustaría iniciar un proceso a través de SSH y cerrar la terminal sin matar el proceso.

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

No funciona Cuando el terminal está cerrado, el proceso muere.

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

Igual que aquí.

Creo que debe haber un camino. Esto es muy molesto, ya que funciona como estándar en cualquier sistema Linux, pero Mac OS X se niega a trabajar con cualquiera de estas combinaciones.

bmike
fuente

Respuestas:

9

Una cosa que siempre funciona es screen. http://ss64.com/osx/screen.html parece estar disponible en Mac OS X por defecto.

Editar: http://web.archive.org/web/20130413070916/http://macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html otro tutorial sobre la pantalla.

Además, aquí hay algunos consejos rápidos sobre cómo usar screen

Abra una nueva instancia de 'pantalla'

$ screen

Una vez, en la pantalla, puede 'separar' (o cerrar) la pantalla de esta manera:

ctrl+A and then press D

Para reanudar una pantalla, normalmente hace esto:

$ screen -x

Si tiene más de una instancia de pantalla, le indicará sus ID, en cuyo caso puede elegir cuál reanudar de esta manera:

$ screen -r <screen id>
chx
fuente
entonces sobre ssh hago pantalla y luego paso el comando nohup? con o sin el & al final?
No hay necesidad de nohup. Simplemente haga la pantalla ccl64 ... &. Más tarde, si lo necesita, puede volver a conectarse con la pantalla -R para monitorear el progreso. Alternativamente, simplemente ejecute la pantalla y escriba el comando allí, puede separar con Ctrl + A D.
chx
gracias, ¿es posible guardar la salida de pantalla en un archivo después del lanzamiento?
Por supuesto, la pantalla puede hacer todo. Quieres pantalla -X hardcopy. Consulte bbs.archlinux.org/viewtopic.php?id=47521 para obtener más información.
chx
5

Intente en su screenlugar, todavía debería ser parte de la instalación predeterminada. Algunas personas incluso usan la pantalla como su shell predeterminado para no tener que preocuparse por nada.

Sven
fuente
2
¿podría describir cómo ejecutar un comando nohup con pantalla?
Utiliza la pantalla en lugar de nohup y luego desconecta la pantalla. Su programa continuará funcionando incluso si finaliza la sesión ssh.
Sven
Ver man screenpara más detalles.
Sven