Kann ich verhindern, dass Mono auflegt, wenn ich meine SSH-Verbindung schließe?

2236
dotVezz

Ich habe einen Linux-Headless-Server, zu dem ich mich über SSH verbinde. Ich habe vor kurzem damit angefangen, zusätzlich zu seinen normalen Aufgaben einen in C # mit Mono geschriebenen Spieleserver zu hosten . Es funktioniert wunderbar! Wenn ich jedoch die Verbindung zu meiner SSH-Sitzung abbringe, wird die Verbindung hergestellt, und die Spielclients werden getrennt.

Um den Spieleserver zu starten, führe ich den Befehl aus mono KMPServer.exe. Danach startet die Serversoftware und zeigt Konfigurationsinformationen an. Der Spieleserver wird jedoch erst ausgeführt, wenn ich ihn eingebe /start.

Ich kann es deshalb nicht verwenden. Beim nohupStarten des Servers müssen Sie ihn zuerst mit Mono ausführen und dann mit ihm interagieren, um einen " /start" Befehl zu geben. Interessanterweise kann ich den Prozess auch nicht im Hintergrund gestalten (Ist das für Mono normal?).

Gibt es eine Möglichkeit, den Game-Server so auszuführen, dass er nicht geschlossen wird, wenn ich die SSH-Sitzung trenne?

Zusammenfassung:

  • Die Serversoftware ist ein Multiplayer-Server eines Drittanbieters (Teil eines Mods) für das Kerbal Space-Programm .
  • Der Linux-Server führt Arch Linux x86_64 aus.
  • Die installierte Mono-Version ist 3.2.3
6

1 Antwort auf die Frage

6
zachzins

Klingt, als sollten Sie eine Bildschirmsitzung verwenden können. Wenn Sie mit dem Bildschirmtool nicht vertraut sind, lesen Sie die Manpages oder besuchen Sie die Bildschirmbefehlsbeispiele: Kontrolle über Linux / Unix-Terminal .

Installieren Sie es zuerst mit pacman -S screen. Starten Sie dann eine neue Sitzung mit screen mono KMPServer.exe, führen Sie alles aus, was Sie tun müssen, und trennen Sie die Sitzung mit Ctrl+ A+ D. Wenn Sie die Sitzung erneut anhängen müssen, verwenden Sie screen -x.

Ah, daran hatte ich nicht gedacht! Es funktioniert perfekt! dotVezz vor 10 Jahren 1