The problem is: we do not really know what "doesn't work" means. If it is that the quoted line just hangs and doesn't finish: start it in the background and have a wait command at the end collecting all the hanging processes. There are a lot of threads here dealing with exactly this problem.
If you mean by "doesn't work" that the process just comes back unsuccessfully: usually a process has a return code. You can query this return code and re-run the process if it is not zero (0 usually means it was successful and everything else some sort of failure).
Replace the quoted line with something like this:
This will try MAXRETRIES times to execute the code until it is either successful or the number of tries run out.
I hope this helps.
bakunin
Hi,
I was actually thinking of 3 conditions:
1.Move on to the next line if doesn't work or hang
2. Restart until it works and move to the next line
3. Wait for a number of seconds , if it doesn't move to the next line, restart the current line (just in case for whatever reason there is no exit code)
Unfortunately for my case it still doesn't work after applying the code above. It still hangs
We have a unix script scheduled to execute once in a day, some times it hangs on the server and never performs its operations, we need to manually kill the process and re-start that script, is there any way to have notification when the script hangs on the server.
Thanks & Regards,
Murthy. (3 Replies)
I have a script that calls several other scripts in a specified order:
# Loop over actions in specified order (STOP_ORDER or START_ORDER) and build and evaluate commands
for command in $(eval print '$'${action}_ORDER)
do
printf "`date`\tExecuting ${action}_${command} = `eval print... (1 Reply)
Hi all,
I have made a script which logins to remote servers and fetches some data from it.
Is is working perfectly when all servers are reachable
BUT
my problem is -- if in case a server is down (or not reachable), the script hangs.
Is there some way, that the script just continues to ssh... (6 Replies)
Hi
I need to run a shell script from a TCL script,the shell script in trun will run a python script
1.Tcl script
set filename "./GopiRun.sh"
2.GopiRun.sh
python ./psi.py $MYSB/test_scripts/delivery/gpy1.py
3.I have my gpy1.py script.
Here the problem i am facing is on running... (0 Replies)
I am trying to figure out a way to proceed through a menu-based program in UNIX with just one command to execute several steps. Is this possible?
From the command prompt I would normally type the name of the program, 'disk_analysis' to start the program and bring up its menu.
I would then... (4 Replies)
I am running solaris 8 on a sparcs box. The system is connected to a lightwave console server. I have a script that hangs when sending output to '/dev/console'. Any ideas?
-V (2 Replies)
Hi,
I have script which is based on TCL and expect. It is written to test my code. It usually runs fine for a while and hangs after sometime.
Code snippet
set l_temp_timeout $timeout
OUTPUT_LOG2 2 >>>$expect_out(buffer)<<<
OUTPUT_LOG2 2... (2 Replies)
script:
while read inputline; do
if ; then
if ; then
break
fi
fi
done
Looks like the script hangs when stdin is empty or contains space. Any ideas on how to circumvent this? is it possible to use getline to process stdin content? (4 Replies)
When I run script listed below it causes my Linux to hang. When it freezes I can do totally nothing, move cursor, switch to another terminal or whatever. Linux is just not responding and the only way out I know is a hard reset of PC.
#!/bin/bash
if ; then
echo "one parameter is needed: IP... (3 Replies)
Discussion started by: mass85
3 Replies
LEARN ABOUT OSX
apache2::porting
apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::ApacUser:Contributed Peapache_mod_perl-108~358::mod_perl-2.0.7::docs::api::Apache2::porting(3)NAME
Apache2::porting -- a helper module for mod_perl 1.0 to mod_perl 2.0 porting
Synopsis
# either add at the very beginning of startup.pl
use Apache2::porting;
# or httpd.conf
PerlModule Apache2::porting
# now issue requests and look at the error_log file for hints
Description
"Apache2::porting" helps to port mod_perl 1.0 code to run under mod_perl 2.0. It doesn't provide any back-compatibility functionality,
however it knows to trap methods calls that are no longer in the mod_perl 2.0 API and tell what should be used instead if at all. If you
attempts to use mod_perl 2.0 methods without first loading the modules that contain them, it will tell you which modules you need to load.
Finally if your code tries to load modules that no longer exist in mod_perl 2.0 it'll also tell you what are the modules that should be
used instead.
"Apache2::porting" communicates with users via the error_log file. Everytime it traps a problem, it logs the solution (if it finds one) to
the error log file. If you use this module coupled with "Apache2::Reload" you will be able to port your applications quickly without
needing to restart the server on every modification.
It starts to work only when child process start and doesn't work for the code that gets loaded at the server startup. This limitation is
explained in the Culprits section.
It relies heavily on "ModPerl::MethodLookup". which can also be used manually to lookup things.
Culprits
"Apache2::porting" uses the "UNIVERSAL::AUTOLOAD" function to provide its functionality. However it seems to be impossible to create
"UNIVERSAL::AUTOLOAD" at the server startup, Apache segfaults on restart. Therefore it performs the setting of "UNIVERSAL::AUTOLOAD" only
during the child_init phase, when child processes start. As a result it can't help you with things that get preloaded at the server
startup.
If you know how to resolve this problem, please let us know. To reproduce the problem try to use an earlier phase, e.g.
"PerlPostConfigHandler":
Apache2::ServerUtil->server->push_handlers(PerlPostConfigHandler => &porting_autoload);
META: Though there is a better solution at work, which assigns AUTOLOAD for each class separately, instead of using UNIVERSAL. See the
discussion on the dev list (hint: search the archive for EazyLife)
See Also
mod_perl 2.0 documentation.
Copyright
mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.
Authors
The mod_perl development team and numerous contributors.
perl v5.16.2 2011-02apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::Apache2::porting(3)