nohup oder persistenter Prozess unter Mac OS X ssh

9

Ich weiß, dass dies schon einmal gefragt wurde, aber keine der Antworten scheint in OS X Mountain Lion zu funktionieren. Ich möchte einen Prozess über SSH starten und das Terminal schließen, ohne den Prozess abzubrechen.

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

Funktioniert nicht Wenn das Terminal geschlossen ist, stirbt der Prozess ab.

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

Hier gilt das gleiche.

Ich denke, es muss einen Weg geben. Dies ist sehr ärgerlich, da es in jedem Linux-System als Standard funktioniert, Mac OS X sich jedoch weigert, mit einer dieser Kombinationen zu arbeiten.

bmike
quelle

Antworten:

9

Eine Sache, die immer funktioniert, ist screen. http://ss64.com/osx/screen.html Es scheint standardmäßig unter Mac OS X verfügbar zu sein.

Bearbeiten: http://web.archive.org/web/20130413070916/http://macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html Ein weiteres Tutorial über den Bildschirm.

Darüber hinaus finden Sie hier einige schnelle Tipps zur Verwendung screen

Öffnen Sie eine neue 'Bildschirm'-Instanz

$ screen

Sobald Sie sich auf dem Bildschirm befinden, können Sie den Bildschirm folgendermaßen abnehmen (oder schließen):

ctrl+A and then press D

Um einen Bildschirm fortzusetzen, gehen Sie normalerweise folgendermaßen vor:

$ screen -x

Wenn Sie mehr als einen Bildschirm Beispiel, wird es Ihnen ihre IDs sagen, in diesem Fall können Sie die man wählen , um wieder wie folgt aus :

$ screen -r <screen id>
chx
quelle
also über ssh mache ich screen und übergebe dann den nohup befehl? mit oder ohne & am Ende?
Keine Notwendigkeit für nohup. Machen Sie einfach Bildschirm ccl64 ... &. Wenn nötig, können Sie später erneut eine Verbindung mit Bildschirm -R herstellen, um den Fortschritt zu überwachen. Alternativ können Sie auch einfach den Bildschirm ausführen und den Befehl dort
eingeben.
danke ist es möglich, die Bildschirmausgabe nach dem Start in einer Datei zu speichern?
Natürlich kann der Bildschirm alles. Sie möchten Bildschirm -X hardcopy. Weitere Informationen finden Sie unter bbs.archlinux.org/viewtopic.php?id=47521 .
chx
5

Versuchen Sie es screenstattdessen, es sollte immer noch Teil der Standardinstallation sein. Einige Leute verwenden sogar den Bildschirm als Standard-Shell, sodass sie sich überhaupt keine Gedanken über Nohup machen müssen.

Sven
quelle
2
Können Sie beschreiben, wie ein nohup-Befehl mit screen ausgeführt wird?
Sie verwenden Bildschirm anstelle von Nohup und trennen dann den Bildschirm. Ihr Programm funktioniert auch dann weiter, wenn die SSH-Sitzung endet.
Sven
Siehe man screenfür Details.
Sven