Ich verwende die Webkonsole, um per SSH auf eine AWS-Instanz zuzugreifen. Dann starte ich eine XRDP-Sitzung, ABER die Sitzung läuft nicht über SSH.
Wenn ich diese SSH-Sitzung jedoch neu starte oder beende, wird auch alles beendet, was ich innerhalb dieser Sitzung ausgeführt habe (z. B. xrdp), selbst wenn ich es mit „&“ in den Hintergrund verzweigt habe. Ich weiß nicht, ob dies das erwartete Verhalten ist oder mit der SSH-Sitzung über den Browser zusammenhängt. Ideen zur Behebung dieses Problems und zur Vermeidung des Beendens aller Programme innerhalb dieser Sitzung wären sehr willkommen :)
Antwort1
Dies ist ein erwartetes Verhalten, da der Prozess, der das Terminal steuert, beim Beenden SIGHUP
an alle seine untergeordneten Prozesse sendet, um sie zu benachrichtigen, dass das Terminal aufgelegt hat. Wie dies SIGHUP
von einem untergeordneten Prozess gehandhabt wird, hängt nur vom untergeordneten Prozess ab. Das Verschieben eines Prozesses in den Hintergrund blockiert keine Signale, es trennt lediglich den untergeordneten Prozess vom Terminal. Um das zu blockierenAuflegesignalSie sollten Ihr Programm nohup
beispielsweise mit ausführen. nohup myprogram &
Das sollte in den meisten Fällen funktionieren.