SSH-Sitzung anhalten

SSH-Sitzung anhalten

Ich habe lang laufende Prozesse, die ich einfach starte. Ich erstelle SSH und melde mich bei der SSH-Sitzung an, erstelle mehrere Bildschirme und führe alle Programme aus und trenne sie mit (Strg + A + D). Aber wenn ich fortfahre (Bildschirm + R) und versuche, meine Ausgaben anzuzeigen, ist der Server langsam geworden. Alle Prozesse funktionieren, aber keiner von ihnen ist bisher fertig. Und ich habe mich schließlich entschieden, einige der Bildschirme anzuhalten und einige von ihnen auszuführen, um die laufenden Programme so schnell wie möglich fertigzustellen.

Ich brauche Hilfe, ob es möglich ist, einige der laufenden Prozesse anzuhalten.

Antwort1

Sie können den Prozessen ein Signal senden, um sie zu stoppen (anzuhalten):

kill -SIGSTOP <PID>

Um den Vorgang zu einem späteren Zeitpunkt fortzusetzen, gehen Sie wie folgt vor:

kill -SIGCONT <PID>

von der Signal-Manpage (man 7 signal):

   SIGCONT   19,18,25    Cont    Continue if stopped
   SIGSTOP   17,19,23    Stop    Stop process

Dies funktioniert natürlich nur, wenn die von Ihnen ausgeführten Programme diese Signale korrekt verarbeiten. Sie können auch STRG-Z auf der Shell drücken, auf der Sie die Prozesse gestartet haben. Dadurch werden sie gestoppt. Mit „bg“ können Sie sie erneut im Hintergrund starten oder mit „fg“ erneut im Vordergrund.

Hoffentlich hilft das.

verwandte Informationen