03-20-2008
Clarifications..
1) Correct. I want it to run until 8675309 starts. Then on the next check it should go to else.
2) Should I change it to
if [ $UL_FILE_TYPE = TEMP -a $UL_PROCESS -eq 0 ]
That is check the file type first and then check for the process?
3) elif is correct; my misspelling. Thanks for the catch!
In response:
1) I think this is odd as you will have two occurrences of the program then running. You run, catch the condition, wait, and start again "as a sub-process". This 2nd run may have different results at "if" statements. Assuming it too does not get caught by the first loop - thus creating a third instance of the script running - control would be returned to the first run at the "elsif" line. Perhaps rethink the logic to a "do while" or "do until" set of commands?
2) I was not commenting on the order within the if, more the logic that I do not believe the program could ever find your "elsif" logic true and able to be executed. The first if is true (UL -eq 0) meaning the "elsif" would not be exexcuted. The first is false (UL -eq 0) meaning the "elsif" would be analyzed, but how could it be now true? Unless this is all to catch the sub-process I referred to in (1)?
3) Concur that "elsif" should be "elif". My other point is that an "elif" should then have its own "then". "elif" expects a "then", so does the program skip a bunch of logic until it finds your next "then" occurrence?
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am running an Ubuntu Gutsy laptop with Advanced Compiz fusion options enabled. I am using xdotool to simulate keyboard input in order to rotate through multiple desktops.
I am looking for a way to kill a while true loop when the Enter key (or Control+C if it is easier) is pushed when the... (2 Replies)
Discussion started by: acclaypool
2 Replies
2. Shell Programming and Scripting
I wonder if someone could help me here. I am trying to find a way of exiting from a loop but not exiting me from the script for example
#!/bin/ksh
# ************* FUNCTIONS ******************
function1() { #ping test
ping $1 2 > /dev/null
if ; then
... (13 Replies)
Discussion started by: hcclnoodles
13 Replies
3. UNIX Benchmarks
Hardware Overview:
Model Name: Power Mac G5
Model Identifier: PowerMac7,2
Processor Name: PowerPC 970 (2.2)
Processor Speed: 1.8 GHz
Number Of CPUs: 2
L2 Cache (per CPU): 512 KB
Memory: 1.5 GB
Bus Speed: 900 MHz
Boot ROM Version:... (0 Replies)
Discussion started by: tnorth
0 Replies
4. UNIX for Advanced & Expert Users
Greeting,
The following script completes after reading only one record from the input file that contains many records. I commented out the "ssh" and get what I expect, an echo of all the records in the input.txt file. Is ssh killing the file handle?
On the box "uname -a" gives "SunOS... (2 Replies)
Discussion started by: twk
2 Replies
5. Shell Programming and Scripting
Hi my code looks like:
if test $STEP -le 10
then
.
.
ls -1d AM*-OUT|while read MYDIR
do
cd $MYDIR
ls |tail -n1| while read MYFILE
do
.
.
if test -s $MYFILE
then
sqlldr ....
rc=$?
if test $rc -ne 0 (3 Replies)
Discussion started by: anijan
3 Replies
6. Shell Programming and Scripting
Hi,
I have a really simple script which I want to run forever, inside the loop it runs a C application which if it exits should restart.
#!/bin/sh
while true
do
./SCF scf.conf >> scf.log
sleep 2
done
For some reason the SCF C application coredumps and the script is exiting.... (3 Replies)
Discussion started by: marvinwright
3 Replies
7. Shell Programming and Scripting
Hi I am having a problem exiting a WHILE loop. I am on a Sun server using ksh.
I am running a Veritas Cluster Software (High Availablity) command to obtain a group status and grepping the command output for status "G" which means that the filesystem is frozen and therefore not available to... (3 Replies)
Discussion started by: bigbuk
3 Replies
8. Shell Programming and Scripting
We are trying to design a flow so that an ETL job shouldn't start until the previous job completes. The script we have written is
while ; do sleep 2; done
The loop however exits even when the process is actually running. Why could this be happening? (12 Replies)
Discussion started by: jerome_rajan
12 Replies
9. Shell Programming and Scripting
Hi ,
I am processing some files using below shell script the problem for loop exit after processing some files even though it exist.After modifying file.txt and rerunning the script and its running .Any Advise
for i in `cat /xx/file.txt |tr -s "," '\n' ` ; do
echo $i... (3 Replies)
Discussion started by: mohan705
3 Replies
LEARN ABOUT DEBIAN
io::async::loop::select
IO::Async::Loop::Select(3pm) User Contributed Perl Documentation IO::Async::Loop::Select(3pm)
NAME
"IO::Async::Loop::Select" - use "IO::Async" with "select(2)"
SYNOPSIS
Normally an instance of this class would not be directly constructed by a program. It may however, be useful for runinng IO::Async with an
existing program already using a "select" call.
use IO::Async::Loop::Select;
my $loop = IO::Async::Loop::Select->new;
$loop->add( ... );
while(1) {
my ( $rvec, $wvec, $evec ) = ('') x 3;
my $timeout;
$loop->pre_select( $rvec, $wvec, $evec, $timeout );
...
my $ret = select( $rvec, $wvec, $evec, $timeout );
...
$loop->post_select( $rvec, $evec, $wvec );
}
DESCRIPTION
This subclass of "IO::Async::Loop" uses the select(2) syscall to perform read-ready and write-ready tests.
To integrate with an existing "select"-based event loop, a pair of methods "pre_select" and "post_select" can be called immediately before
and after a "select" call. The relevant bits in the read-ready, write-ready and exceptional-state bitvectors are set by the "pre_select"
method, and tested by the "post_select" method to pick which event callbacks to invoke.
CONSTRUCTOR
$loop = IO::Async::Loop::Select->new
This function returns a new instance of a "IO::Async::Loop::Select" object. It takes no special arguments.
METHODS
$loop->pre_select( $readvec, $writevec, $exceptvec, $timeout )
This method prepares the bitvectors for a "select" call, setting the bits that the Loop is interested in. It will also adjust the $timeout
value if appropriate, reducing it if the next event timeout the Loop requires is sooner than the current value.
$readvec
$writevec
$exceptvec
Scalar references to the reading, writing and exception bitvectors
$timeout
Scalar reference to the timeout value
$loop->post_select( $readvec, $writevec, $exceptvec )
This method checks the returned bitvectors from a "select" call, and calls any of the callbacks that are appropriate.
$readvec
$writevec
$exceptvec
Scalars containing the read-ready, write-ready and exception bitvectors
$count = $loop->loop_once( $timeout )
This method calls the "pre_select" method to prepare the bitvectors for a "select" syscall, performs it, then calls "post_select" to
process the result. It returns the total number of callbacks invoked by the "post_select" method, or "undef" if the underlying select(2)
syscall returned an error.
SEE ALSO
o IO::Select - OO interface to select system call
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>
perl v5.14.2 2012-10-24 IO::Async::Loop::Select(3pm)