Sponsored Content
Top Forums Shell Programming and Scripting Help with shell script handling processes Post 302967581 by JackyShane_36 on Thursday 25th of February 2016 06:31:57 AM
Old 02-25-2016
Thanks everyone, but I was looking for something easier. With some more dragging around I found the best way to do it without too much complexity.

Adding the code below for reference.

Code:
 
#!/bin/bash
FILE2=/usr/local/app/command_file.log
while read line; do
command=$(echo $line)
log=$(echo $line | awk -F'"' '{$0=$2}1')
count=$(ps aux | grep -i "tscV6Connector" | grep -v "grep" | wc -l)
instance=$(echo $line | awk -F'"' '{$0=$4}1')
if [ $count -le 6 ];
then 
    echo "Running command for "$log" with name starting with "$instance"...."
    nohup "additional_command_parameters" > /usr/local/app/log/"$log"/"$log_$instance".log &
    sleep 10    #Sleep time for the extraction process.
    now1=$(date +'%d/%m/%Y %X');
    echo -e "*** TSO *** "$now1": Started extraction for MAGIC object type "$log" with name starting "$instance" process PID = "$!""
else 
    now2=$(date +'%d/%m/%Y %X');
    echo -e "*** TSO *** "$now2": Total MQL extraction process reached "$count"....\n*** TSO *** "$now2": waiting for previous process PID "$!" to complete"
    wait $!;    #Main wait statement when count >=7. Once wait is over, run the next command after wait.
    nohup "additional_command_parameters" > /usr/local/app/log/"$log"/"$log_$instance".log &
    sleep 10;    #Sleep time for the last MQL which was waiting before log files.
    now=$(date +'%d/%m/%Y %X');
    echo -e "*** TSO *** "$now3": Started extraction for MAGIC object type "$log" with name starting "$instance" process PID = "$!"\n*** TSO *** "$now3": Total number of extraction MQLs on DB are = "$count"\n"
fi
done < $FILE2

This way when 7th process is trying to start, it waits until 6th is completed and so on .....

A simple logic, works well enough Smilie Smilie Smilie

Experts are welcome to comment.

BR/
JS
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

signal handling in shell script

Hi can any please tell me is it possible to catch the signal in a shell script like we do in C. if yes please give me some idea or a link. (4 Replies)
Discussion started by: Raom
4 Replies

2. Shell Programming and Scripting

Shell script creating too many processes.

I have a shell script that I am running every 60 seconds, but it is creating this process to the point that it is causing the server to perfrom poorly. Below is my script, what can I change to prevent this? while true do java -classpath .....( all my classes here) >/dev/null 2>&1 ... (3 Replies)
Discussion started by: Miller_K
3 Replies

3. Shell Programming and Scripting

Shell script file handling

Hi ! /bin/sh set logdir1 "logDir/local/logname" #write the filename into a file echo $logdir1 >> logname.txt how do i exec the above echo command (1 Reply)
Discussion started by: nathgopi214
1 Replies

4. Shell Programming and Scripting

shell script for getting pid of spawn processes from shell

Hi, I am new this forum. I request you peoples help in understanding and finding some solution to my problem. Here it goes: I need to perform this set of actions by writing a shell script. I need to read a config file for the bunch of processes to execute. I need to fecth the pid of... (4 Replies)
Discussion started by: sachin4sachi
4 Replies

5. Shell Programming and Scripting

BASH - Handling background processes - distributed processing

NOTE: I am using BASH and Solaris 10 for this. Currently in the process of building a script that has a main "watcher" daemon that reads a configuration file and starts background processes based on it's global configuration. It is basically an infinite loop of configuration reading. Some of the... (4 Replies)
Discussion started by: dcarrion87
4 Replies

6. Shell Programming and Scripting

Help with Handling multiple argument in shell script

Hi i have written a shell script that takes only single ip address from the user and calculates its latency and reliability, can you please tell me that what should be done if i want that user should enter 100 or 1000 ip address (5 Replies)
Discussion started by: Preeti_17
5 Replies

7. Shell Programming and Scripting

Shell script executed from Informatica ETL tool is spawning 2 processes for one script

Hi, I am having a shell script which has a while loop as shown below. while do sleep 60 done I am executing this script from Informatica ETL tool command task from where we can execute UNIX commands/scripts. When i do that, i am seeing 2 processes getting started for one script... (2 Replies)
Discussion started by: chekusi
2 Replies

8. Solaris

Script on Solaris spawning 2 processes for one shell script execution

Hi, I am having a shell script on Solaris 10 which has a while loop as shown below. #!/usr/bin/ksh # while do sleep 60 done Name of the shell script is coldcentric.sh. I executed script /DATAWAREHOUSE/LOAD/Scripts/coldcentric.sh from a command task in Informatica worklow as... (3 Replies)
Discussion started by: chekusi
3 Replies

9. Shell Programming and Scripting

Wait for one processes to complete in a shell script

Let's say I start process A.sh, then start process B.sh. I call both of them in my C.sh How can I make sure that B starts its execution only after A.sh finishes. I have to do this in loop.Execution time of A.sh may vary everytime. It is a parameterized script. (17 Replies)
Discussion started by: rafa_fed2
17 Replies

10. Shell Programming and Scripting

Issue handling single quoted argument in shell script.

Below is my script that works fine and prints the desired output: #!/bin/ksh echo "$1" | while IFS= read -r dirpath do echo "DIRR_PATH:$dirpath" install_dir=$install_dir" "$dirpath done echo "Desired Output:$install_dir" Output: ./loopissue.sh... (10 Replies)
Discussion started by: mohtashims
10 Replies
condor_wait(1)						      General Commands Manual						    condor_wait(1)

Name
       condor_wait Wait - for jobs to finish

Synopsis
       condor_wait [-help -version]

       condor_wait[-debug] [-wait seconds] [-num number-of-jobs] log-file[job ID]

Description
       condor_waitwatches  a  user  log file (created with the logcommand within a submit description file) and returns when one or more jobs from
       the log have completed or aborted.

       Because condor_waitexpects to find at least one job submitted event in the log file, at least one job must have been successfully submitted
       with condor_submitbefore condor_waitis executed.

       condor_waitwill wait forever for jobs to finish, unless a shorter wait time is specified.

Options
       -help

	  Display usage information

       -version

	  Display version information

       -debug

	  Show extra debugging information.

       -wait seconds

	  Wait no more than the integer number of seconds. The default is unlimited time.

       -num number-of-jobs

	  Wait for the integer number-of-jobsjobs to end. The default is all jobs in the log file.

       log file

	  The name of the log file to watch for information about the job.

       job ID

	  A  specific job or set of jobs to watch. If the job IDis only the job ClassAd attribute  ClusterId , then condor_wait waits for all jobs
	  with the given  ClusterId . If the job IDis a pair of the job ClassAd attributes, given by  ClusterId . ProcId , then condor_wait  waits
	  for  the specific job with this job ID. If this option is not specified, all jobs that exist in the log file when condor_wait is invoked
	  will be watched.

General Remarks
       condor_waitis an inexpensive way to test or wait for the completion of a job or a whole cluster, if you are trying to get a process outside
       of Condor to synchronize with a job or set of jobs.

       It can also be used to wait for the completion of a limited subset of jobs, via the -numoption.

Examples
       condor_wait  logfile

       This command waits for all jobs that exist in  logfile to complete.

       condor_wait  logfile 40

       This command waits for all jobs that exist in  logfile with a job ClassAd attribute  ClusterId of 40 to complete.

       condor_wait  -num 2 logfile

       This command waits for any two jobs that exist in  logfile to complete.

       condor_wait  logfile 40.1

       This command waits for job 40.1 that exists in  logfile to complete.

       condor_wait  -wait 3600 logfile 40.1

       This waits for job 40.1 to complete by watching	logfile , but it will not wait more than one hour (3600 seconds).

Exit Status
       condor_waitexits  with  0  if and only if the specified job or jobs have completed or aborted. condor_waitreturns 1 if unrecoverable errors
       occur, such as a missing log file, if the job does not exist in the log file, or the user-specified waiting time has expired.

Author
       Condor Team, University of Wisconsin-Madison

Copyright
       Copyright (C) 1990-2012 Condor Team, Computer Sciences Department, University of  Wisconsin-Madison,  Madison,  WI.  All  Rights  Reserved.
       Licensed under the Apache License, Version 2.0.

       See the Condor Version 7.8.2 Manualor http://www.condorproject.org/licensefor additional notices. condor-admin@cs.wisc.edu

								  September 2012						    condor_wait(1)
All times are GMT -4. The time now is 08:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy