Restart linux screen application

OP (Firma: Père Lachaise) #5459957
Lesenswert?

Ich möchte gerne ein C-Programm, welches innerhalb eines screen läuft, 
neu starten. Gestarten wurde das Programm mit
1
screen -dmS name location

Schreibe ich mir nun ein Bash-Script und führe gleiches aus funktioniert 
es wie erwartet:
1
#/bin/bash
2

3
echo "------------------------------"
4
if screen -list | grep -q -w "$1"; then
5
        echo "Restarting "$1" ..." >> output
6
        screen -X -S $1 quit;
7
        echo "Sleeping ..." >> output
8
        sleep 1;
9
        echo "Reattaching ..." >> output
10
        screen -dmS $1 $2;
11
else
12
        echo "No screen "$1" found!" >> output
13
fi

Starte ich dieses Skript allerdings aus dem C-Programm selbst mit einem 
system call, ist nach der Zeile "Sleeping ..." Schluß. Was passiert 
hier? Wird die Skriptabarbeitung mit dem Beenden des Programmes auch 
beendet? Oder fehlen dem Programm schlichtweg die Rechte (die ich 
allerdings gesetzt habe)? Das Skript aus einer anderen Applikation 
aufzurufen (die erst von der eigentlichen Applikation aufgerufen wird) 
funktioniert auch nicht.
OP (Firma: Père Lachaise) #5459989
Lesenswert?

Das dachte ich mir. Mit dem Schlagwort "Controlling Terminal" ist mir 
nun auch der Kontext klar.

HUP abfangen könnte ich, aber ich habe ja keine Applikation mehr am 
Laufen zu diesem Zeitpunkt. Anders gesagt: ich müßte also das Skript in 
einem anderen (eigenen?) Controlling Terminal aufführen, oder?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren