Forums Neueste Beiträge
 

Huddel mit mkfifo

02/05/2010 - 14:04 von Bernd Hohmann | Report spam
Eigentlich eine ganz einfache Aufgabe:

ffmpeg kann via -vstats_file Informationen über den laufenden Prozess in
eine Datei schreiben. Weil ich aber eigentlich keine Datei brauche
sondern eine Pipe ausreicht hab ich folgendes gemacht:

mkfifo mypipe
ffmpeg -vstats_file mypipe -s ...

Jetzt kann ich mir via "cat mypipe" in einem anderen Fenster die Pipe
ausgeben lassen, funktioniert also.

Nur: breche ich das "cat mypipe" via ^C ab, beendet sich auch der
ffmpeg-Prozess, die Pipe existiert aber noch.

Frage: warum und wie kann ich das umgehen?

Bernd

Wenn Frauen nicht wissen was sie machen sollen, ziehen sie sich aus ...
Und wenn Mànner nicht wissen, was sie machen sollen, dann schauen sie
sich Frauen an, die nicht wussten, was sie machen sollen ...
 

Lesen sie die antworten

#1 Sven Hartge
02/05/2010 - 14:43 | Warnen spam
Bernd Hohmann wrote:

Eigentlich eine ganz einfache Aufgabe:

ffmpeg kann via -vstats_file Informationen über den laufenden Prozess
in eine Datei schreiben. Weil ich aber eigentlich keine Datei brauche
sondern eine Pipe ausreicht hab ich folgendes gemacht:

mkfifo mypipe
ffmpeg -vstats_file mypipe -s ...

Jetzt kann ich mir via "cat mypipe" in einem anderen Fenster die Pipe
ausgeben lassen, funktioniert also.

Nur: breche ich das "cat mypipe" via ^C ab, beendet sich auch der
ffmpeg-Prozess, die Pipe existiert aber noch.



Nun, das ist so. Wenn der Leser einer Pipe wegfàllt, dann bekommt der
Schreiber SIGPIPE. Jetzt hàngt es vom schreibenden Programm ab, was
dieses macht. Die meisten, die nicht speziell programmiert sind, dürften
sich beenden.

Siehe z.B. http://www.linuxjournal.com/article/2156

Frage: warum und wie kann ich das umgehen?



Gar nicht. Es sei denn, du bringst ffmpeg bei, das SIGPIPE zu
ignorieren.

http://en.wikipedia.org/wiki/SIGPIPE



Sig lost. Core dumped.

Ähnliche fragen