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
TORRUS_MONITOR(8)						      torrus							 TORRUS_MONITOR(8)

NAME
monitor - Torrus Monitor. SYNOPSIS
torrus monitor --tree=TREENAME [options...] DESCRIPTION
This command starts the Monitor process for the tree TREENAME. By default it forks into a daemon, sets the log output file to /var/log/torrus/monitor.TREENAME.log, performs one monitoring cycle, and sleeps until the next cycle is scheduled. In daemon mode the log file can be reopened by sending it a SIGHUP signal. OPTIONS
--nodaemon Prevents the process from becoming a daemon and sets the log to STDERR. --runonce Instructs the script to run once and exit. Implies --nodaemon. --delay=N Makes the daemon sleep for N minutes before starting the first cycle. This would happen on the daemon startup and also after each configuration recompilation. For example, when monitor and collector start simultaneously, the collector needs some time to retrieve the data being monitored. --debug Sets the log level to debug. --verbose Sets the debug level to info. --help Displays a help message. FILES
/etc/torrus/conf/torrus-siteconfig.pl Torrus site configuration script. /var/log/torrus/monitor.TREENAME.log Monitor's log for the tree TREENAME. SEE ALSO
torrus(8) NOTES
See more documentation at Torrus home page: http://torrus.org AUTHOR
Stanislav Sinyagin <ssinyagin@yahoo.com> torrus 2.03 2013-07-26 TORRUS_MONITOR(8)
All times are GMT -4. The time now is 10:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy