Frage Was ist der Unterschied zwischen ^ S und ^ Z in einem Terminal?


Wenn Sie einen Terminalemulator verwenden, können Sie das gerade laufende Programm mit beiden beenden STRG-Z oder STRG-S. Was ist der Unterschied zwischen diesen Steuerzeichen?


6
2018-05-23 13:01


Ursprung


superuser.com/questions/243460/... - akira


Antworten:


Es ist der Unterschied zwischen den Aktionen "Stop" und "Suspend" zum Terminal.

Das Stoppen der Ausgabe mit Strg-S stoppt den Prozess nicht; Es stoppt lediglich die Ausgabe an das Terminal (Fortsetzung mit Strg-Q / "Start").

Wenn ein Prozess mit Strg-Z angehalten wird, wird die Ausführung gestoppt und der Prozess in einen anderen Status versetzt, der von ps aus sichtbar ist (Status "T"). Setzen Sie mit "fg" oder "bg" fort, um den Prozess im Vordergrund bzw. im Hintergrund fortzusetzen.


4
2018-05-23 13:16



rather it just stops output to the terminal - Es pausiert die Anwendung in der Regel als Nebeneffekt - Eugene Yarmash
Wenn die App versucht, vom Terminal zu lesen / zu schreiben, wird sie angehalten, ja. Wenn nicht, läuft die App weiter. Dies ist einer der wesentlichen Unterschiede zwischen den beiden Methoden. - Phil
Randnotiz: Viele Schalen unterstützen Strg-Y, um einen Prozess im Hintergrund anzuzeigen und nur bei der ersten Anforderung für die Terminaleingabe auszusetzen. Dies ist bekannt als verzögerter Aussetzung


STRG-Z sendet die SIGSTOP Signal, das das Programm zum Stoppen zwingt.

Mit

fg

oder

bg

Du kannst senden SIGCONT und starte es vorne oder im Hintergrund.

STRG-S hört einfach auf, Daten an das Terminal auszugeben. (XOFF) Sie können es mit einschalten STRG-Q. (XON)


3
2018-05-23 13:08



Eine kleine Korrektur: Control-Z sendet SIGTSTP, nicht SIGSTOP. Ein wichtiger Unterschied zwischen ihnen besteht darin, dass Programme SIGTSTP, aber nicht SIGSTOP abfangen oder ignorieren können. Programme können TSTP abfangen und Bereinigungsvorgänge ausführen, bevor die Ausführung angehalten wird. STOP bewirkt jedoch, dass der Prozess ohne vorherige Benachrichtigung angehalten wird. - Chris Page