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.

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>

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.