Ausgabe eines laufenden Prozesses umleiten

Ich hatte ja neulich schon einmal das “/proc”-Filesystem erwähnt, und natürlich kann man in Linux damit noch andere Sachen machen - z.B. STDOUT oder STDERR eines laufenden Prozesses umleiten (ein bißchen Hilfe braucht man allerdings dabei schon). Schauen wir uns mal ein Beispiel an: Der folgende Prozess schreibt STDERR in das Terminal, indem wir ihn gestartet haben, und STDOUT nach /tmp/foo: nc -l 8080 > /tmp/foo & [1] 4767 Hilfreicherweise zeigt mir die Shell auch gleich die Prozess-ID an, so daß es ein leichtes ist, herauszufinden, wohin STDOUT (FD 1) und STDERR (FD 2) zeigen: [Mehr]

Gelöschte Logfiles retten

Frage: Was tut man, wenn man sich aus Versehen ein wichtiges Logfile gelöscht hat? Also z.B. /var/log/httpd/access_log? Antwort: Wenn man den Dienst, der das Logfile offen hält, neu gestartet oder ihm ein SIGHUP (SIGUSR1i, $WHATEVER der Prozess halt braucht, um Logfiles neu zu öffnen) geschickt hat, dann tut man gar nichts, denn dann hat man verloren. Hat man das aber nicht getan, dann gibt es das File noch auf der Platte - denn “ein offenes Filehandle ist ein offenes Filehandle ist ein offenes Filehandle”, wie Frank sagen würde. [Mehr]