Mettere il seguente file in una directory presente nel PATH. Per utilizzarlo basta
lanciare “puser” seguito dal numero della porta da controllare. Di seguito un esempio:
#andrea> puser 1531
1531: 2506 18359
#andrea> cat puser
#!/usr/bin/perl
die "Usage: puser
\n" if @ARGV[0] == 0;
$ENV{'PORT'} = @ARGV[0];
$shell_in = <<'IN';
echo "" > /tmp/checkPortTestPerl;
for PROC in /proc/*; do
echo $PROC >> /tmp/checkPortTestPerl 2> /dev/null
pfiles -F $PROC | grep port |grep $PORT >> /tmp/checkPortTestPerl 2> /dev/null
done 2> /dev/null
IN
$shell_out = `$shell_in`;
open(FH, "< /tmp/checkPortTestPerl") or die "can't open /tmp/checkPortTestPerl: $!";
$i=0;
$lineprep=;
for ($count=0; $row=; $count++) {
if ($row =~ m/@ARGV[0]/){
$lineprep =~ m#^/[a-z]+/([0-9]+)$#;
$process[$i]=$1;
$i++;
}
$lineprep=$row;
}
print "@ARGV[0]: @process\n";
unlink "/tmp/checkPortTestPerl";