FIFOs

Hi,

ich versuche, den mpg321 per remote control mittels FIFOs aus einem script zu steuern. Er zeigt dabei in zweierlei Hinsicht ein gar eigentuemliches Verhalten. Kann sich darauf jemand einen Reim machen?

**frank@harbard [~] $** mkfifo -m 600 .Mpg321/mpg321.$$.{in,out,err}
**frank@harbard [~] $** cat .Mpg321/mpg321.$$.out \>/dev/null & # Ausgang von out interessiert nicht
[2] 2970
**frank@harbard [~] $** cat .Mpg321/mpg321.$$.err & # Ausgang von err auf terminal
[3] 2971
**frank@harbard [~] $** # Player im remote mode starten und die fifos ranknippern
**frank@harbard [~] $** mpg321 -R x .Mpg321/mpg321.$$.out 2\>.Mpg321/mpg321.$$.err &
[4] 2972
**frank@harbard [~] $** echo load impuls.mp3 \>.Mpg321/mpg321.$$.in # Wiedergabe starten
**frank@harbard [~] $** @E Unknown command 'oad'
@E Unknown command 'ad'
@E Unknown command 'd'
@E Unknown command 'impuls.mp3'
@E Unknown command 'impuls.mp3'
@E Unknown command 'mpuls.mp3'
@E Unknown command 'puls.mp3'
@E Unknown command 'uls.mp3'
@E Unknown command 'ls.mp3'
@E Unknown command 's.mp3'
@E Unknown command '.mp3'
@E Unknown command 'mp3'
@E Unknown command 'p3'
@E Unknown command '3'
**frank@harbard [~] $** # Wiedergabe laeuft, hoer nur ich
**frank@harbard [~] $** cat /proc/loadavg
<u>0.14 0.08 0.03 1/72 2983</u>
**frank@harbard [~] $** echo pause \>.Mpg321/mpg321.2606.in # Wiedergabe pausen
**frank@harbard [~] $** @E Unknown command 'ause'
@E Unknown command 'use'
@E Unknown command 'se'
@E Unknown command 'e'
**frank@harbard [~] $** sleep 100; cat /proc/loadavg
<u>0.89 0.40 0.14 2/72 2986</u>
**frank@harbard [~] $** echo quit \>.Mpg321/mpg321.$$.in # Player beenden
**frank@harbard [~] $** sleep 100; cat /proc/loadavg
[2] Done cat .Mpg321/mpg321.$$.out \>/dev/null
[3]- Done cat .Mpg321/mpg321.$$.err
[4]+ Done mpg321 -R x .Mpg321/mpg321.$$.out 2\>.Mpg321/mpg321.$$.err
<u>0.15 0.33 0.16 1/69 2990</u>
**frank@harbard [~] $** mpg321 --version
mpg321 version 0.2.10. Copyright (C) 2001, 2002 Joe Drew.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
**frank@harbard [~] $**

Das erste merkwuerdige Verhalten ist, dass er nicht die Befehle irgendwie mehrfach kriegt: mit ‚oad‘, …, ‚impuls.mp3‘, … kann er freilich nichts anfangen. Wo holt das FIFO die her, wo ich sie doch nur einmal reinschreibe?

Das zweite ist der ploetzliche Lastanstieg, wenn ich den player auf Pause stelle. Sobald er beendet wird oder mit einem erneuten ‚echo p‘ wieder spielen darf geht die load wieder gegen 0.00 runter.

Beide Effekte kann ich mit Bedienung des players via terminal auf stdin und bei Ausgabe auf stdout bzw. stderr auf terminal nicht reproduzieren, ich mutmasze also, dass ich die FIFOs falsch bediene. Irgendjemand Vorschlaege, was ich anders machen sollte? Oder kann evtl. jemand das bei seinem mpg321 oder mpg123 nachvollziehen?

Danke im Voraus,
Gruss vom Frank.