Perfect. That works perfectly (in your original post you didn't say the -- required the - infront of the pid as well) . I updated the killScript function to:
and everything runs as I would expect it to. (I also made checking stricter just to be safe)
Thanks for bearing with me.
Last edited by DeCoTwc; 08-16-2012 at 10:31 PM..
Reason: Tweaked function
I would like to allow only one instance of a script to run at any moment.
I've tried the following solution to count the instances but the result is always the number of running instances plus one and I can't find the problem
ps -ef | grep $0 | sed '/^$/ d' | sed '/grep/ d' | wc -l
Please... (2 Replies)
Hello,
I'm trying to write a script that checks for previous instances of the same script which may still be running (this script is scheduled to run every 30 minutes). I want to somehow use the pid from each instance to make sure the previous one isn't running before continuing with my... (5 Replies)
Sorry for all the threads. I am almost done. I ahve a bash script that is launching a diags program then copying the .html over my client. then it does the following line
/opt/firefox/firefox report.html
it launches it fines but the program waits for me to close the window or kill the script.... (2 Replies)
Is there a way to monitor certain processes and if they hang too long to kill them, but certain scripts which are expected to take a long time to let them go?
Thank you
Richard (4 Replies)
I have a parent process which will start 36 child process. This I achieved by using the 'for loop'.
In Parent.sh:-
./Child.sh <arg1> <arg2> ... &
If I execute "ps -ef | grep Child.sh", I can see 72 child processes running at the background. I mean I can see the duplicate of each process.
... (2 Replies)
I had issues with processes locking up. This script checks for processes and kills them if they are older than a certain time.
Its uses some functions you'll need to define or remove, like slog() which I use for logging, and is_running() which checks if this script is already running so you can... (0 Replies)
Hello to all @here,
as Iīm new to this forum, I will try to start in a easy way for my first post. Iīm not beginner in scripting, but also not a proffessional. So please keep easy, if I donīt understand your explanation at once ;) I donīt mean it in a bad way!
Here is the Problem:
There were... (2 Replies)
Hi there,
I'm trying to run a script remotely on a server in a particular directory named after hostname which already exists, my login session gets killed as soon as I run the below command. Not sure what is wrong, is there a better way to do it ?
Note: I can also use nohup command to run... (14 Replies)
Discussion started by: mbak
14 Replies
LEARN ABOUT DEBIAN
file::pid
File::Pid(3pm) User Contributed Perl Documentation File::Pid(3pm)NAME
File::Pid - Pid File Manipulation
SYNOPSIS
use File::Pid;
my $pidfile = File::Pid->new({
file => '/some/file.pid',
});
$pidfile->write;
if ( my $num = $pidfile->running ) {
die "Already running: $num
";
}
$pidfile->remove;
DESCRIPTION
This software manages a pid file for you. It will create a pid file, query the process within to discover if it's still running, and remove
the pid file.
new
my $pidfile = File::Pid->new;
my $thisfile = File::Pid->new({
file => '/var/run/daemon.pid',
});
my $thisfileandpid = File::Pid->new({
file => '/var/run/daemon.pid',
pid => '145',
});
This constructor takes two optional paramters.
"file" - The name of the pid file to work on. If not specified, a pid file located in "File::Spec->tmpdir()" will be created that matches
"(File::Basename::basename($0))[0] . '.pid'". So, for example, if $0 is ~/bin/sig.pl, the pid file will be /tmp/sig.pl.pid.
"pid" - The pid to write to a new pidfile. If not specified, $$ is used when the pid file doesn't exist. When the pid file does exist, the
pid inside it is used.
file
my $pidfile = $pidfile->file;
Accessor/mutator for the filename used as the pid file.
pid
my $pid = $pidfile->pid;
Accessor/mutator for the pid being saved to the pid file.
write
my $pid = $pidfile->write;
Writes the pid file to disk, inserting the pid inside the file. On success, the pid written is returned. On failure, "undef" is returned.
running
my $pid = $pidfile->running;
die "Service already running: $pid
" if $pid;
Checks to see if the pricess identified in the pid file is still running. If the process is still running, the pid is returned. Otherwise
"undef" is returned.
remove
$pidfile->remove or warn "Couldn't unlink pid file
";
Removes the pid file from disk. Returns true on success, false on failure.
program_name
This is a utility method that allows you to determine what "File::Pid" thinks the program name is. Internally this is used when no pid file
is specified.
SEE ALSO
perl.
AUTHOR
Casey West, <casey@geeknest.com>.
COPYRIGHT
Copyright (c) 2005 Casey West. All rights reserved.
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.8.8 2008-04-05 File::Pid(3pm)