12-24-2008
[PHP] endless loop mimics a cron. Make sure only one instance is running
Hi,
PHP user here. I'm using an endless loop to perform to mimic a cron. The script does something every 20 minutes. It sleep()s in the meantime.
I have various checks that ensure that only instance can run, including a "gentleman agreement" locked file.
However, I'd like to make sure that only one instance of the cron script is running. It would also be useful for me to be a 100% certain that the cron script is actually running when it tells me it is.
Can it be done? If yes, how? I have unfortunately no experience in this area.
Regards,
-jj.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need a quick script that will serve as a sort of "real time monitor" for watching some log files. I am using Bourne shell in HP-UX 10.20. I have basically created a script that never ends, unless of course I manually terminate it. Here's the script (it's called qhistory):
clear
echo "REAL... (3 Replies)
Discussion started by: cdunavent
3 Replies
2. Shell Programming and Scripting
Hi,
I'm pretty new to UNIX shell scripting and need some help. We have an Informatica interface that dumps any files that have errors into a directory. I need to check that directory periodically for any of up to 9 files that might be in it and run a specific process for each file found. The... (3 Replies)
Discussion started by: JeffR
3 Replies
3. Shell Programming and Scripting
When finding a string in files within a directory, one can use this:
grep -r "searchstring" dir/subdir/ > listofoccurrences.txt
For brevity sake one can enter the intended directory and use this:
grep -r "searchstring" . > listofoccurrences.txt
which as I found out leads to an endless loop,... (2 Replies)
Discussion started by: figaro
2 Replies
4. Shell Programming and Scripting
Hi there, I am struggling to try and work out what is going wrong with a cron job i have running daily which opens up an imap mailbox and extracts a rar file to a directory on the web server. The script works ok when run manually, and when it is running from cron, I can see that it opens up the... (2 Replies)
Discussion started by: nicky77
2 Replies
5. Shell Programming and Scripting
hi,
I am trying to export a variable from the parent makefile to a child instance of my makefile within the same directory.
the relevant code in my parent makefile is:
libvar := $(notdir $(basename ../src/file1))
export libvar
.PHONY: library
library:
make -f makechild libvar=file1... (0 Replies)
Discussion started by: bacpp
0 Replies
6. Shell Programming and Scripting
First time post. I did a search so I didn’t see this specific issue. It seems to be a head scratcher for me.
I have an hourly job that on rare occasions, gets into an endless loop.
I’ve tried different scenarios but the current version does basically the following.
Find all the *.arc files and... (18 Replies)
Discussion started by: Sylvan303
18 Replies
7. Shell Programming and Scripting
Hi All,
I've written a script to read 2 files and compare the contents using while loop but somehow when $line is not found in test2, the script will continue looping.
Below is my code, pls advise what could went wrong
TIA
Nick
for line in test1.txt | while read line
do
grep -i... (4 Replies)
Discussion started by: Nick1971
4 Replies
8. UNIX for Advanced & Expert Users
hi,
while separated they produce the usual mail alert and i can see the output...
if i write into the php script:
<?php
system('php -f /var/www/vhosts/domain.com/httpdocs/folder/script1.php');
system('php -f /var/www/vhosts/domain.com/httpdocs/folder/script2.php');
system('php -f... (0 Replies)
Discussion started by: 7stars
0 Replies
9. Shell Programming and Scripting
Hi,
AM very new to shell scripting and try to run a simple do while loop statement, but it ends up running endlessly. please can anyone assist, dunno what am doing wrong, any useful suggestions will be welcomed.
#!/bin/ksh
### To check a running process instance
#################... (5 Replies)
Discussion started by: bayoo
5 Replies
10. UNIX for Beginners Questions & Answers
I was practicing writing simple loops as I am a new bash user and I created this script, which turned out to be an endless loop where the echo output does not stop and I do not see where my mistake is.
#!/bin/bash
echo 'enter a number from 1 to 100'
read number
while
do
... (2 Replies)
Discussion started by: goldenlinx
2 Replies
LEARN ABOUT HPUX
queuedefs
queuedefs(4) Kernel Interfaces Manual queuedefs(4)
NAME
queuedefs - queue description file for at, batch, and crontab
SYNOPSIS
DESCRIPTION
The file describes the characteristics of the queues managed by (see cron(1M)). Each non-comment line in this file describes one queue.
The format of the lines are as follows:
[njob[nice[nwait
The fields in this line are:
q The name of the queue, such that is the default queue for jobs started by (see at(1)), is the queue for jobs started by
(see at(1)), and is the queue for jobs run from a file (see crontab(1)). Queue names through designate user-defined
queues.
njob The maximum number of jobs that can be run simultaneously in that queue. Although any number can be specified here, (see
cron(1M)) by default limits the number of jobs that can be run on all the queues to 100. This limitation can be removed
by setting the variable to 1 in the file.
nice The value to give to all jobs in that queue that are not run with a user ID of super-user (see nice(1)). The default
value is 2.
nwait The number of seconds to wait before rescheduling a job that was deferred because more than njob jobs were running in that
job's queue, or because more than 100 jobs were running in all the queues (see njob above).
EXAMPLES
Consider the following file:
The file is interpreted as follows:
The queue, for jobs (see at(1)), can have up to 4 jobs running simultaneously, and those jobs will be run with a value of
1.
Since no nwait value is given, if a job cannot be run because too many other jobs are running, will wait 60 seconds
before trying again to run it (see cron(1M)).
The queue, for jobs (see at(1)), can have up to 2 jobs running simultaneously. Those jobs will be run with a value of 2.
If a job cannot be run because too many other jobs are running, will wait 90 seconds before trying again to run it.
All other queues can have up to 100 jobs running simultaneously. They will be run with a value of 2, and if a job cannot be run because
too many other jobs are running, will wait 60 seconds before trying again to run it.
SEE ALSO
at(1), nice(1), crontab(1), cron(1M), proto(4).
STANDARDS CONFORMANCE
queuedefs(4)