Schonmal das Problem gehabt, dass man einen Prozess startet und sich danach denkt: Mist, haette ich den mal im screen ausgefuehrt? Passiert klassisch am Freitag Nachmittag wenn man SIGWOCHENENDE empfangen moechte. Fuer genau das Problem habe ich aber gerade eine Loesung gefunden: reptyr
Das Programm kann bei Debian oder Ubuntu einfach aus den Repositories installiert werden:
apt-get install reptyr |
Anschliessend funktioniert das folgende Szenario:
- Ein Terminal Fenster starten (T1) und folgenden Befehl eingeben:
T1 - root@foo:~# tail -f /var/log/syslog
- Ein zweites Terminal Fenster starten (T2) und als root einen screen starten:
T2 - root@foo:~# screen
- Im screen die PID fuer den Prozess raussuchen und anschliessend mit repryr holen:
T2 - root@foo:~# pidof tail 28802 root@foo:~# reptyr 28802
- Im T1 sieht man nun etwas wie folgt
T1 - [1]+ Angehalten tail -f /var/log/syslog
- Im T1 nun mit dem folgenden Befehl sicher gehen dass alles sauber ist:
T1 - root@foo:~# bg; disown
- Im T1 nun etwas in die Logdatei schreiben und im screen anschauen, wie es geloggt wird:
T1 - root@foo:~# logger foo
Man finde ich das praktisch! :-)