Warum beendet Strg-C den Bildschirm, wenn er im getrennten Modus ausgeführt wird?

929
Cyrlop

Wenn ich Ctrl-Cin einem Bildschirm verwende, den ich auf "normale Weise" ausgeführt habe screen -S screen_name, verhält es sich wie erwartet, was bedeutet, dass der Befehl unterbrochen wird, der gerade ausgeführt wird, der Bildschirm jedoch nicht beendet wird .

Wenn ich jedoch den Bildschirm im getrennten Modus mit ausführe screen -dmS screen_name command, funktioniert es einwandfrei, aber wenn ich den Bildschirm wieder anhebe, Ctrl-Cwird der Bildschirm selbst beendet .

Wie kann ich verhindern Ctrl-C, dass der Bildschirm beendet wird?

0

1 Antwort auf die Frage

1
nickcrabtree

Screen exits when the command it is running finishes.

In your first example you don't specify a command, so your default shell will be started.

In your second example, you don't specify a shell so your command is run directly. When that command receives the Ctrl-C, it will quit and so the screen will close.

Depending on what you want to achieve, you can use the zombie, defzombie or onerror options to screen to make the window stick around after the command has quit.

Alternatively, this answer contains a suggestion for keeping a bash shell open after an initial script terminates.

Danke, jetzt ist es klar. Grundsätzlich wollte ich, dass bash läuft, nachdem mein Befehl beendet wurde, und am Ende machte ich Folgendes: `screen -dmS bildschirmname bash -c 'befehl; exec bash'` Cyrlop vor 6 Jahren 0