Ich möchte die quit
Sitzung überprüfen. Dafür benutze ich screen -S session_name -X quit
. Das funktioniert gut, aber nicht so, wie ich es tun würde.
Das Programm, in dem ausgeführt wird, screen
hat einen Handler für SIGTERM
, und ich brauche diesen Handler wirklich zum Ausführen, damit es eine ordnungsgemäße Bereinigung durchführen kann. Das Ausführen screen -S session_name -X quit
führt jedoch dazu, dass das Programm beendet wird, ohne dass sein Handler aufgerufen wird.
Ein einfaches kill $(pidof bla)
Ergebnis ist der Aufruf meines Handlers, die ordnungsgemäße Reinigung und schließlich das Schließen der screen
Sitzung.
Ich möchte jedoch in der Lage sein, all dies zu stoppen, indem ich die screen
Sitzung mit ihrem Sitzungsnamen schließe und das SIGTERM
Signal "weiterleiten" lasse .
Jede Hilfe dankbar, danke.
quelle
Antworten:
Die Lösung, mit der ich gekommen bin, ist von der von @Kwaio vorgeschlagenen inspiriert. In meinem Fall habe ich nur einen Prozess, der daran interessiert ist, das
SIGTERM
Signal zu empfangen . Dieser Prozess leitet es bereits an seine Kinder weiter.Dies setzt voraus, dass es nur eine
screen
Sitzung mit einem bestimmten Namen gibt.quelle