+sub mplayer_running()
+{
+ local *F;
+ open F,"/proc/net/unix" or die;
+ my %unix;
+ <F>;
+ while (<F>) {
+ /^(?:\S+\s+){6}(\d+)\s/ or die;
+ $unix{$1}=1;
+ }
+ close F or die;
+
+ local $_;
+ while (</proc/*/exe>) {
+ (my $fdname=$_)=~s{/exe$}{/fd};
+ $_=readlink or next;
+ m{/mplayer$} or next;
+ while (<$fdname/*>) {
+ $_=readlink or next;
+ my $inode=/^\Qsocket:[\E(\d+)\Q]\E$/ or next;
+ return 1 if $unix{$1};
+ }
+ }
+ return;
+}
+