Sponsored Content
Top Forums Shell Programming and Scripting Keep a certain number of background processes running Post 302280675 by awk on Tuesday 27th of January 2009 11:13:29 AM
Old 01-27-2009
I had a similar problem - submit up to and including four background jobs, and when one or more finish, built back up to the max.

Code:
while read LINE                          # go through the output file from the view one line at a time
do

### Commented a lot of code - but basically, based on the LINE, 
###   set up the job with export statements

###   the secret is the jobs command gives a list of background jobs to this process
###   then the wc -l tells me how many

###   if it is >= 4, it goes to sleep for 30 seconds, then checks the count again

    # getting here, we want to submit the job to run, up to the limit of 4 jobs running at one time
    # See if there are 4 jobs running right now
      while [[ $( jobs | wc -l ) -ge 4 ]]
      do
        echo_f going to sleep now at $(date)
        sleep 30
      done

      /avidyn/scripts/avd_runit_002.ksh 1>/dev/null 2>&1 &   # parameters are passed by the export statements

done < /avidyn/tmp/avd_runit_001_jobs_to_run.txt

###  Not show after the done, is a "wait" command, to wait until all background jobs are finished.

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Running two processes in background

hi there, here's what i need in my korn-shell: ... begin korn-shell script ... nohup process_A.ksh ; nohup process_B.ksh & ... "other stuff" ... end lorn-shell script in plain english i want process A and process B to run in the background so that the script can continue doing... (6 Replies)
Discussion started by: jacob_gs
6 Replies

2. Shell Programming and Scripting

Determine Number of Processes Running

I am pretty new to unix, and I have a project to do. Part of the project asks me to determine the number of processes running and assign it to a variable. I know how to every part of the project but determine the number of processes running. How can I get just the number of processes... (4 Replies)
Discussion started by: wayne1411
4 Replies

3. Solaris

About running processes in background

Hi, I need to establish a procedure that will start an application in background each time my remote Solaris server is (re)started. This would be a kind of daemon. I am no sysadmin expert, so I am looking for pointers. How should I proceed? What are the main steps? Thanks, JVerstry (9 Replies)
Discussion started by: JVerstry
9 Replies

4. Shell Programming and Scripting

Waiting for an arbitrary background process (limiting number of jobs running)

Hi, I'm trying to write a script to decompress a directory full of files. The decompression commands can run in the background, so that many can run at once. But I want to limit the number running at any one time, so that I don't overload the machine. Something like this: n=0 for i in *.gz... (15 Replies)
Discussion started by: p.f.moore
15 Replies

5. Shell Programming and Scripting

Background Processes

Ok guys so I have my first dummy shell almost done except for one tiny part: I do not know how to run a process in the background, from the code! I already know how to do that in a normal shell: $ program & However, no clue when it comes to how to program that thing. :eek: A very... (2 Replies)
Discussion started by: Across
2 Replies

6. Shell Programming and Scripting

How to Control Number of Processes Running

Hi Is there a way to count how many processes a script has started, count how many of these have finished, and make the script wait if their difference goes over a given threshold? I am using a script to repeatedly execute a code (~100x) which converts 2 data files into one .plt which is in... (4 Replies)
Discussion started by: drbones
4 Replies

7. UNIX for Dummies Questions & Answers

Query on Running Multiple processes in background

HI All , Pardon me for asking some very basic questions, I would be grateful if someone can help. I am trying to execute a shell script which runs multiple processes in background. It includes various operations like copying , DB operations etc etc. Now problem is that the complete script... (6 Replies)
Discussion started by: gpta_varun
6 Replies

8. UNIX for Dummies Questions & Answers

How do you print the number of processes that each user is currently running in Unix?

Ok, so I know there's a way to do this, but I've been trying to find out all afternoon with no luck. I think it should print out something like this: 1 bin 2 daemon 6 duo Where the numbers on the left are the number of processes being run by the user whose name is listed on the right. Is... (4 Replies)
Discussion started by: Duo11
4 Replies

9. Shell Programming and Scripting

Need help on background processes

Hi, I have a schell script parent.ksh from which I am calling three background processes a.ksh,b.ksh and c.ksh. Once these three processes completes the next step in parent.ksh should execute. How to achieve this? Please help me.... Thanks... (1 Reply)
Discussion started by: ravinunna
1 Replies

10. UNIX for Dummies Questions & Answers

How do I find the number of processes running on root?

Is there a certain man command I'm missing here? I searched in ps but I couldn't find something that would give me the number of processes running on root. I only want to see the number of processes, not the processes itself. (2 Replies)
Discussion started by: l3monz
2 Replies
queuedefs(4)						     Kernel Interfaces Manual						      queuedefs(4)

NAME
queuedefs - Queue description file for at, batch, and cron commands DESCRIPTION
The queuedefs file describes the characteristics of the queues managed by cron or specifies other characteristics for cron. Each noncom- ment line in this file describes either one queue or a cron characteristic. Each uncommented line should be in one of the following for- mats. q.[njobj][nicen][nwaitw] max_jobs=mjobs log=lcode The fields in these lines are as follows: The name of the queue. Defined queues are as follows: The default queue for jobs started by at The default queue for jobs started by batch The default queue for jobs run from a crontab file Queues d to z are also available for local use. The maximum number of jobs that can be run simultaneously in the queue; if more than njob jobs are ready to run, only the first njob jobs will be run. The others will be initiated as currently running jobs ter- minate. The nice(1) value to give to all jobs in the queue that are not run with a user ID of superuser. The number of seconds to wait before rescheduling a job that was deferred because more than njob jobs were running in that queue, or because the system-wide limit of jobs executing (max_jobs) has been reached. The maximum number of active jobs from all queues that may run at any one time. The default is 25 jobs. Logging level of messages sent to a log file. The default is 4. Defined levels are as follows: level-code level 0 None 1 Low 2 Medium 3 High 4 Full Lines beginning with # are comments, and are ignored. EXAMPLES
The following file specifies that the b queue, for batch jobs, can have up to 50 jobs running simultaneously; that those jobs will be run with a nice value of 20. If a job cannot be run because too many other jobs are running, cron will wait 60 seconds before trying again to run it. All other queues can have up to 100 jobs running simultaneously; they will be run with a nice value of 2. If a job cannot be run because too many other jobs are running cron will wait 60 seconds before trying again to run it. b.50j20n60w The following file specifies that a total of 25 active jobs will be allowed by cron over all the queues at any one time, and cron will log all messages to the log file. The last two lines are comments that are ignored. max_jobs=25 log=4 # This is a comment # And so is this FILES
Main cron directory The default location for the queue description file. RELATED INFORMATION
Commands: at(1), cron(8), crontab(1), nice(1) delim off queuedefs(4)
All times are GMT -4. The time now is 11:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy