站长资源脚本专栏
perl查找进程PID的例子
简介主要是利用查找/proc目录下的相关文件进行查找.#!/usr/bin/perl use strict;use warnings;#usage: process_grep.pl ProcessNameexit( main(@ARGV) );sub main {my $Phash;my $P
主要是利用查找/proc目录下的相关文件进行查找.
#!/usr/bin/perl
use strict;
use warnings;
#usage: process_grep.pl ProcessName
exit( main(@ARGV) );
sub main {
my $Phash;
my $ProcessName = shift;
my $PROC_DIR = "/proc";
chdir $PROC_DIR;
my @pids = glob "[0-9]*";
for my $pid (@pids) {
open( FH, "$pid/cmdline" ) or die "Can't $pid file $!";
$Phash->{$pid} = $_ while <FH>;
}
delete $Phash->{"$$"};
for my $pid ( keys %$Phash ) {
print $pid, "\n" if $Phash->{$pid} =~ /$ProcessName/;
}
return 0;
}