#!/usr/bin/perl use warnings; use strict; package main; my $name = `basename "$0"`; # Get this script's name $name =~ s/\R//g; # Chop off trailing newlines print "Script name is: \"$name\".\n"; my $dirPerl = "/usr/bin/perl"; my $psCmd = "ps -ef | grep $name"; my $scriptRunningCount = 0; my $output = qx($psCmd); # Run "ps -ef | grep SCRIPTNAME" foreach my $line (split /[\r\n]+/, $output) { if( index($line,$dirPerl) != -1 && index($line,$name) != -1 ){ $scriptRunningCount++; } } if($scriptRunningCount == 1){ # ...run script... } print "END OF PROGRAM.\n";