3
我正在檢查mplayer是否在播放mp3文件。我目前使用的這條線從蟒蛇如何檢查mplayer是否播放文件?
strace -p " + str(mplayer.pid) + " 2>&1 | head -n 200 | grep 'read(3'
那是因爲我知道,從文件描述符3讀取文件時,但是,不管我有多少行分析的mplayer使系統調用,沒有一個單一的讀取操作。
我正在檢查mplayer是否在播放mp3文件。我目前使用的這條線從蟒蛇如何檢查mplayer是否播放文件?
strace -p " + str(mplayer.pid) + " 2>&1 | head -n 200 | grep 'read(3'
那是因爲我知道,從文件描述符3讀取文件時,但是,不管我有多少行分析的mplayer使系統調用,沒有一個單一的讀取操作。
我只知道一種可靠的方法來確定MPlayer是否在播放某些東西,也就是將它作爲從機運行並連續讀取其ASCII管道。
在media data not found
,Failed to open
或STARTING PLAYBACK
的管道中觀察文本是否發生,以及進程是否已退出(已完成播放)。
您只查看前200行輸出。這還不足以說明應用程序啓動期間完成的所有系統調用(其中有許多很多)。 –
它適合我。什麼'strace -p $ pid -e read'顯示?考慮一種不同的方法。不能保證輸入將會以fd#3結尾,或者MPlayer將使用'read'來讀取它。 –
是的,這有效。事實上,這次它從#4中讀取。 – Vintage