Sponsored Content
Full Discussion: Else Loop Exiting Early
Top Forums Shell Programming and Scripting Else Loop Exiting Early Post 302177217 by GregWold on Thursday 20th of March 2008 10:28:39 AM
Old 03-20-2008
Question Else Loop Exiting Early

All,

I'm having a problem w/this function. Specifically, I want to call another function (get_stats) when the process in the else completes (the initial if and the elsif seem to work fine). But what's happening is the get_stats function call is running after the else runs only once, NOT when it completes. I need the else condtion to run until the process completes, THEN call get_stats. Thanks in advance!

check_ul_process()
{
PROGRAM=8675309
LONG_SLEEP=5
SLEEP_TIME=1
UL_PROCESS=$(ps -eaf | grep $PROGRAM | grep -v grep | wc -l)

# if 8675309 isn't running
# and it's not being run by cron,
# re-check

if [ $UL_PROCESS -eq 0 ]
then
while [ $LONG_SLEEP -gt 0 ]
do
if test $STARTED_BY_CRON = "False"
then
echo "\rTime to next check - $LONG_SLEEP\c"
fi
let LONG_SLEEP=LONG_SLEEP-1
sleep $SLEEP_TIME
done

LONG_SLEEP=5
check_ul_process
elsif [ $UL_PROCESS -eq 0 -a $UL_FILE_TYPE = TEMP ]

# if a ul_temp file exists
# and 8675309 is not running,
# log error and exit.

echo $(expr substr $(hostname) 5 2 | tr 'a-z' 'A-Z') "::" $(date +'%D %T') ":: Exiting. A .ul_temp file exists, but the upload process isn't running." >> /ops/log/ulgen_report.log #~/test_report.log
exit
else

# if 8675309 is running
# and it's not being run by cron,
# check it until it completes

while [ $LONG_SLEEP -gt 0 ]
do
if test $STARTED_BY_CRON = "False"
then
echo "\rTime to next check - $LONG_SLEEP\c"
fi
let LONG_SLEEP=LONG_SLEEP-1
sleep $SLEEP_TIME
done

LONG_SLEEP=5
get_stats
exit
fi
}
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash: Exiting while true loop when terminal is not the focus window

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

exiting from a loop

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

Early PowerMac G5

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

"while read ..." loop exiting after reading only one record

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

Problem in exiting a loop

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

Loop Forever Script Strangely Exiting

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

Problem exiting a WHILE loop in ksh

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

While Loop Exiting

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

For loop exiting

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
IO::Async::Loop::Glib(3pm)				User Contributed Perl Documentation				IO::Async::Loop::Glib(3pm)

NAME
"IO::Async::Loop::Glib" - use "IO::Async" with Glib or GTK SYNOPSIS
use IO::Async::Loop::Glib; my $loop = IO::Async::Loop::Glib->new(); $loop->add( ... ); ... # Rest of GLib/Gtk program that uses GLib Glib::MainLoop->new->run(); Or $loop->loop_forever(); Or while(1) { $loop->loop_once(); } DESCRIPTION
This subclass of "IO::Async::Loop" uses the "Glib::MainLoop" to perform read-ready and write-ready tests. The appropriate "Glib::IO" sources are added or removed from the "Glib::MainLoop" when notifiers are added or removed from the set, or when they change their "want_writeready" status. The callbacks are called automatically by Glib itself; no special methods on this loop object are required. CONSTRUCTOR
$loop = IO::Async::Loop::Glib->new() This function returns a new instance of a "IO::Async::Loop::Glib" object. It takes no special arguments. METHODS
There are no special methods in this subclass, other than those provided by the "IO::Async::Loop" base class. $count = $loop->loop_once( $timeout ) This method calls the "iteration()" method on the underlying "Glib::MainContext". If a timeout value is supplied, then a Glib timeout will be installed, to interrupt the loop at that time. If Glib indicates that any callbacks were fired, then this method will return 1 (however, it does not mean that any "IO::Async" callbacks were invoked, as there may be other parts of code sharing the Glib main context. Otherwise, it will return 0. SEE ALSO
o Glib - Perl wrappers for the GLib utility and Object libraries o Gtk2 - Perl interface to the 2.x series of the Gimp Toolkit library AUTHOR
Paul Evans <leonerd@leonerd.org.uk> perl v5.14.2 2013-03-01 IO::Async::Loop::Glib(3pm)
All times are GMT -4. The time now is 05:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy