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 .....
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)
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT OSF1
line
line(1) General Commands Manual line(1)NAME
line - Reads one line from standard input
SYNOPSIS
line
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
line: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
None
DESCRIPTION
The line command copies one line, up to and including a newline, from standard input and writes it to standard output. Use this command
within a shell command file to read from your terminal. The line command always writes at least a newline character.
NOTES
The line utility has no internationalization features and is marked LEGACY in XCU Issue 5. Use the read utility instead.
EXIT STATUS
Success. End-of-File.
EXAMPLES
To read a line from the keyboard and append it to a file, enter: echo 'Enter comments for the log:' echo ': c' line >>log
This shell procedure displays the message: Enter comments for the log:
It then reads a line of text from the keyboard and adds it to the end of the file log. The echo ': c' command displays a : (colon)
prompt. See the echo command for information about the c escape sequence.
SEE ALSO
Commands: echo(1), ksh(1), read(1), Bourne shell sh(1b), POSIX shell sh(1p)
Functions: read(2)
Standards: standards(5)line(1)