ADMIN-Tipp: Screen für bereits laufende Prozesse

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Für viele Administratoren ist das Screen-Kommando, das Terminalprogramme nach dem Ausloggen weiterlaufen lässt, unverzichtbar. Doch was tun, wenn der lang laufende Job schon gestartet ist? Ein kleines Tool bringt die Lösung.

Praktisch ist das Screen-Kommando, um einen laufenden Job zu starten, sich auszuloggen und später diese Terminalsession wieder aufzunehmen. Einen einfachen Weg dafür, sich mit Screen an ein existierendes Programm anzuhängen, gibt es aber nicht. Einen Ausweg bietet Reptyr von Nelson Elhage, das laufende Kommandozeilentools an neue Pseudo-Terminals (PTY) bindet. Allerdings muss man es aus dem Quellcode, den es unter https://github.com/nelhage/reptyr gibt, selbst kompilieren. Ist das Tool installiert, lässt es sich einfach verwenden:

reptyr PID

wobei PID für die Prozess-ID des laufenden Prozesses steht. Um ein laufendes Programm also in einen Screen zu verfrachten, startet man erst mit "screen bash" einen neuen Screen und holt sich dann mit "reptyr PID" den Prozess.

Probleme können bei modernen Linux-Distributionen auftreten, die aus Sicherheitsgründen die  Fähigkeiten des Ptrace-Systemcalls beschränken, etwa Ubuntu Maverick und neuer. Hier hilft es, als Administrator Root kurzzeitig die Sperre auszuschalten:

echo 0 > /proc/sys/kernel/yama/ptrace_scope
10.07.2012

Schlagwörter: Linux Linux , Shell Shell

Comments

Alles aktuell

der Artikel ist nirgends "ausgegraben", sondern neu geschrieben. Die Informationen sind aktuell und die Angabe "Maverick und neuer" will sagen, dass dies mit der besagten Ubuntu-Version eingeführt wurde. Auf Ubuntu 12.04 ist auch die angesprochene Datei vorhanden:

$ ls -l /proc/sys/kernel/yama/ptrace_scope
-rw-r--r-- 1 root root 0 Jul  5 21:49 /proc/sys/kernel/yama/ptrace_scope
oliver@h2054857:~$ cat /proc/sys/kernel/yama/ptrace_scope
1

Ansonsten danke für den Hinweis, dass das Programm in der Distribution vorhanden ist, wusste ich nicht.

Olle Kamelle?

Ich weiß ja nicht, wo das ADMIN-Magazin diesen Artikel ausgegraben hat, denn

- das Programm gibts (zumindest unter Ubuntu 12.04) als Paket
- die genannte /proc/sys .. Zeile hab ich bei mir (Kernel 3.2) nicht gefunden, aber es hat auch so funktioniert
- Die genannte "Maveric" (10.10)  Distribution, die im Artikel genannt wird, ist fast zwei Jahre alt

Vielleicht das nächste Mal doch nochmal kurz drübergehen, ob alles noch stimmt .. ;-)

Doch prinzipiell ist es ein gute Tipp!

comments powered by Disqus

Ausgabe 03/2013: Web Security

Anzeige