Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Befehl mit & hinten und Terminal beenden stört manche Prozesse

3 views
Skip to first unread message

Marco Moock

unread,
Feb 20, 2024, 6:33:27 AMFeb 20
to
Hallo zusammen!

Ich starte viele Programme mit Befehl & im xterm und beende dann das
xterm mit Ctrl+D. Bei aisleriot hat das den Effekt, dass in vielen
Fällen das Programm abstürzt. Lässt man das Terminal offen kommt eine
Meldung, die aber den Ablauf nicht stört.

Ist dieses Verhalten so beabsichtigt?

--
Gruß
Marco

Spam und Werbung bitte an ichwillges...@nirvana.admins.ws

Peter J. Holzer

unread,
Feb 20, 2024, 7:25:02 AMFeb 20
to
On 2024-02-20 11:33, Marco Moock <mm+s...@dorfdsl.de> wrote:
> Ich starte viele Programme mit Befehl & im xterm und beende dann das
> xterm mit Ctrl+D. Bei aisleriot hat das den Effekt, dass in vielen
> Fällen das Programm abstürzt.

Was genau heißt "abstürzt"?

Ctrl-D beendet die Shell (und in weiterer Folge beendet sich dann auch
xterm). Die sendet an alle Hintergrund-Jobs ein SIGHUP. Die
Default-Aktion von SIGHUP ist das Beenden des Prozesses.

Du kannst das verhindern, indem Du

* disown %jobid aufrufst (dann fühlt sich die Shell nicht mehr für
diesen Job zuständig), oder
* Das Kommando mit nohup aufrufst (dann ignoriert es SIGHUP).

Manchr Programme fangen auch SIGHUP ab und machen etwas sinnvolles
(Daemons z.B. laden gerne ihre Konfiguration neu).

> Lässt man das Terminal offen kommt eine Meldung, die aber den Ablauf
> nicht stört.

Das ist ja sehr aussagekräftig ;-).

hp

Tim Landscheidt

unread,
Feb 20, 2024, 7:40:07 AMFeb 20
to
Marco Moock <mm+s...@dorfdsl.de> wrote:

> Ich starte viele Programme mit Befehl & im xterm und beende dann das
> xterm mit Ctrl+D. Bei aisleriot hat das den Effekt, dass in vielen
> Fällen das Programm abstürzt. Lässt man das Terminal offen kommt eine
> Meldung, die aber den Ablauf nicht stört.

> Ist dieses Verhalten so beabsichtigt?

Ich meine mich dunkel an eine GNU-Software erinnern zu kön-
nen, die in ihrer Testsuite unter anderem prüfte, dass das
Programm auch tatsächlich nicht auf stdin/stdout(/stderr?)
zugriff. Wenn aisleriot darauf zugreift, muss man halt von/
nach /dev/null umleiten.

Tim

Enrik Berkhan

unread,
Feb 20, 2024, 7:53:05 AMFeb 20
to
Marco Moock <mm+s...@dorfdsl.de> wrote:
> Ich starte viele Programme mit Befehl & im xterm und beende dann das
> xterm mit Ctrl+D. Bei aisleriot hat das den Effekt, dass in vielen
> Fällen das Programm abstürzt. Lässt man das Terminal offen kommt eine
> Meldung, die aber den Ablauf nicht stört.
>
> Ist dieses Verhalten so beabsichtigt?

Passiert das auch, wenn du das verdächtige Programm mittels `nohup'
startest?

Zum Debuggen könntest du es noch mit `strace' starten (Ausgabe natürlich
in Datei schreiben lassen etc.) oder einen Debugger aus einem anderen
xterm heraus starten und an den jeweiligen Prozess attachen, bevor du
das originale xterm schließt.

Gruß,
Enrik

Marco Moock

unread,
Feb 20, 2024, 8:19:31 AMFeb 20
to
Am 20.02.2024 13:48 Uhr schrieb Thomas Kempkes:

> Mit den Stichworten "nohup" und "screen" kannst du aber "drumherum"
> arbeiten und am Ende wahrscheinlich das erreichen was dir vorschwebt?

Der Absturz (Schema-Ausnahmefehler) findet beim Spiel statt, es startet
dann ein neues Spiel. Das war von mir nicht klar formuliert.
Der Fehler ist vom Zeitpunkt unabhängig von Ctrl+D.

nohup verhindert den.

Ist denn die Vorgehensweise, Programme aus dem xterm zu starten und
dieses zu beenden überhaupt sinnvoll?

--
Gruß
Marco

Spam und Werbung bitte an ichschic...@cartoonies.org

0 new messages