in reply to How can i check my script is already running?

Just a note: you need to exclude your "ps" check from the list of processes returned since it will also match your script path. Try this:
my @np = `ps aux | grep "/home/shekar/myscript.pl" | grep -v grep`; print "Number of running processes: " . (scalar @np) . "\n";
or
my $np = `ps aux | grep "/home/shekar/myscript.pl" | grep -v grep | wc -l`; chomp $np; print "Number of running processes: $np\n";
But I agree with others, you can find better ways to do it.

Replies are listed 'Best First'.
Re^2: How can i check my script is already running?
by Hue-Bond (Priest) on May 11, 2010 at 16:41 UTC
    Just a note: you need to exclude your "ps" check from the list of processes returned since it will also match your script path.

    I like to use the following trick, so as not to invoke an additional grep:

    $ ps aux | grep [i]nit root 1 0.0 0.0 23820 2024 ? Ss 08:23 0:01 /sbin +/init

    --
     David Serrano
     (Please treat my english text just like Perl code, i.e. feel free to notify me of any syntax, grammar, style and/or spelling errors. Thank you!).