nohup ou processus persistant sur Mac OS X ssh

9

Je sais que cela a déjà été demandé, mais aucune des réponses ne semble fonctionner sous OS X Mountain Lion. Je voudrais lancer un processus via SSH et fermer le terminal sans tuer le processus.

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

Ça ne marche pas. Lorsque le terminal est fermé, le processus meurt.

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

Pareil ici.

Je pense qu'il doit y avoir un moyen. C'est très ennuyeux car cela fonctionne comme standard dans tout système Linux, mais Mac OS X refuse de travailler avec l'une de ces combinaisons.

bmike
la source

Réponses:

9

Une chose qui fonctionne toujours est screen. http://ss64.com/osx/screen.html, il semble être disponible sur Mac OS X par défaut.

Modifier: http://web.archive.org/web/20130413070916/http://macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html un autre écran tutoriel à côté.

En outre, voici quelques conseils rapides sur la façon d'utiliser screen

Ouvrez une nouvelle instance «écran»

$ screen

Une fois sur l'écran, vous pouvez «détacher» (ou fermer) l'écran comme ceci:

ctrl+A and then press D

Pour reprendre un écran, vous procédez généralement comme suit:

$ screen -x

Si vous avez plus d'une instance d'écran, il vous indiquera leurs identifiants, auquel cas vous pouvez choisir celle à reprendre comme ceci:

$ screen -r <screen id>
chx
la source
donc sur ssh je fais un écran puis passe la commande nohup? avec ou sans le & à la fin?
Pas besoin de nohup. Faites simplement l'écran ccl64 ... &. Plus tard, si vous en avez besoin, vous pouvez vous reconnecter avec l'écran -R pour suivre les progrès. Alternativement, exécutez simplement l'écran et tapez la commande là-dedans, vous pouvez vous détacher avec Ctrl + A D.
chx
merci, il est possible d'enregistrer la sortie d'écran dans un fichier après le lancement?
Bien sûr, l'écran peut tout faire. Vous voulez l'écran -X hardcopy. Voir bbs.archlinux.org/viewtopic.php?id=47521 pour en savoir plus.
chx
5

Essayez screenplutôt, il devrait toujours faire partie de l'installation par défaut. Certaines personnes utilisent même l'écran comme shell par défaut , elles n'ont donc pas à se soucier du tout.

Sven
la source
2
pourriez-vous décrire comment exécuter une commande nohup avec écran?
Vous utilisez écran au lieu de nohup, puis détachez l'écran. Votre programme continuera de fonctionner même si la session ssh se termine.
Sven
Voir man screenpour plus de détails.
Sven