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.

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>

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.