I have a script file in my cron.hourly that contains a good number of scripts I must call.
#!/bin/sh
sleep 15 perl /scripts/create_graph.pl &
sleep 15 perl /scripts/create_graph_out.pl &
many more lines. etc.
Is there a way I can sleep random length to time before executing each but background each one so master script returns promptly. Something like.
sleep (random 1 - 300 seconds, perl /scripts/create_graph_out.pl) &
On Thu, Sep 05, 2013 at 10:24:55AM -0500, Matt wrote:
I have a script file in my cron.hourly that contains a good number of scripts I must call.
#!/bin/sh
sleep 15 perl /scripts/create_graph.pl &
sleep 15 perl /scripts/create_graph_out.pl &
many more lines. etc.
Don't background them individually; background the whole lot
#!/bin/sh ( perl /scripts/create_graph.pl perl /scripts/create_graph_out.pl etc ) &
Now they will run one after another and you don't need to sleep between them.
LIMIT=10 # Or whatever sleep `expr $RANDOM % $LIMIT + 1`
-----Original Message----- From: centos-bounces@centos.org [mailto:centos-bounces@centos.org] On Behalf Of Matt Sent: 05 September 2013 16:25 To: CentOS mailing list Subject: [CentOS] Shell Script Help
I have a script file in my cron.hourly that contains a good number of scripts I must call.
#!/bin/sh
sleep 15 perl /scripts/create_graph.pl &
sleep 15 perl /scripts/create_graph_out.pl &
many more lines. etc.
Is there a way I can sleep random length to time before executing each but background each one so master script returns promptly. Something like.
sleep (random 1 - 300 seconds, perl /scripts/create_graph_out.pl) & _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________
----- No virus found in this message. Checked by AVG - www.avg.com Version: 2013.0.3392 / Virus Database: 3211/6618 - Release Date: 08/28/13 Internal Virus Database is out of date.
______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________
On 09/05/2013 11:24 AM, Matt wrote:
I have a script file in my cron.hourly that contains a good number of scripts I must call.
#!/bin/sh
sleep 15 perl /scripts/create_graph.pl &
sleep 15 perl /scripts/create_graph_out.pl &
many more lines. etc.
Is there a way I can sleep random length to time before executing each but background each one so master script returns promptly. Something like.
sleep (random 1 - 300 seconds, perl /scripts/create_graph_out.pl) & _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
If you are trying to avoid running all these perl scripts concurrently set up the perl scripts to accept an argument, then pass each one a time delay when you call them.
PerlScript-1 20 & PerlScript-2 40 & ... PerlScript-n n*20 &
The calling script will return almost immediately but the perl scripts will delay any action for the specified time. That way the time delay is fully adjustable from zero to forever.
Matt wrote:
I have a script file in my cron.hourly that contains a good number of scripts I must call.
#!/bin/sh
sleep 15 perl /scripts/create_graph.pl &
sleep 15 perl /scripts/create_graph_out.pl &
many more lines. etc.
Is there a way I can sleep random length to time before executing each but background each one so master script returns promptly. Something like.
sleep 15 && perl /scripts/create_graph.pl & should return promptly, another reply addresses the random part.
On Fri, Sep 6, 2013 at 8:44 AM, Nicolas Thierry-Mieg < Nicolas.Thierry-Mieg@imag.fr> wrote:
Matt wrote:
I have a script file in my cron.hourly that contains a good number of scripts I must call.
#!/bin/sh
sleep 15 perl /scripts/create_graph.pl &
sleep 15 perl /scripts/create_graph_out.pl &
many more lines. etc.
Is there a way I can sleep random length to time before executing each but background each one so master script returns promptly. Something like.
sleep 15 && perl /scripts/create_graph.pl & should return promptly, another reply addresses the random part.
sleep $(($RANDOM%300))