in reply to Re^3: how many instances are running ?
in thread how many instances are running ?

The locking mechanism seems to require a file that can be locked
My first attempt resulted in a permission denied :)
But I'm looking for something like
#! /usr/bin/perl -lw use strict; use Shell qw(ps); my $sh = Shell->new; my @pids = grep ( $_ =~ /t\.pl/, $sh->ps('aux')); print "list of running instances:\n@pids\n" ; for( @pids ) { exit if ( $_ && /t\.pl\s.*\-a/ ) ; } print "no other instance running\n" ;
Which actually seems to work quite good :)

LuCa

Replies are listed 'Best First'.
Re^5: how many instances are running ?
by bart (Canon) on Mar 06, 2007 at 11:56 UTC
    The locking mechanism seems to require a file that can be locked My first attempt resulted in a permission denied :)
    Hmm, can we dig into that little problem, please?

    Many systems only allow you to lock a file (actually a file handle) that you have open for writing. Once that condition is met, it really ought to work.

    Oh, and if you try to lock the file in nonblocking mode, it won't wait but instead report failure to lock. Store that result and you will know whether to output anything, or not.

    BTW I'd prefer to always enable warnings, but let every instance have their own copy for the log file.

Re^5: how many instances are running ?
by davorg (Chancellor) on Mar 06, 2007 at 11:54 UTC