04-24-2008
How do I know all processes are finished?
Hi all,
I am writing a C shell script that starts a program. The program forks of several child processes. Only when all child processes are done, I want to archive my log files. Below is what I have so far, but unfortunately it doesn't work.
MyProgram
if (-e processes.txt) then
rm processes.txt
endif
ps -C MyProgram | grep MyProgram > processes.txt
while (-s processes.txt)
rm processes.txt
ps -C MyProgram | grep MyProgram > processes.txt
rm processes.txt
# start archiving log files
The while loop is done twice and than the archiving starts, while one of the child processes is still running. Does anyone know what I am doing wrong or does anyone have any other suggestion on how to do this?
Thanks a lot.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Problem
I have an application which basically runs lots of UNIX programs remotely, using the Telnet protocol. For each program it remotely executes, it stores the process ID (PID) for that process.
At regular intervals, I would like my application to take the PID for every process still... (5 Replies)
Discussion started by: 1cuervo
5 Replies
2. UNIX for Dummies Questions & Answers
Hi
I'm writing a script which will be run by cron every X minutes.
I don't want cron to run my script again if the previous one has not yet finished.
When the script first runs, I had the idea to store the Process ID in a file. When cron tries to run the script again, I would check the... (5 Replies)
Discussion started by: Bab00shka
5 Replies
3. UNIX for Dummies Questions & Answers
In my last job someone gave me the command to put in my .profile that let me know when a job I had running in the background finished. It was a word about 5 char long. I can't remember it! (4 Replies)
Discussion started by: nkeller
4 Replies
4. Shell Programming and Scripting
So, the script I've been working on, since I was starting to learn Shell scripting is now complete.
This was coded in ksh, and I am very proud of it.
What this script does, is syncs up uid's across the network. So if you have 10 servers, with 10 usernames with different UID's - this will... (1 Reply)
Discussion started by: syndex
1 Replies
5. Shell Programming and Scripting
Hi frnds,
I want to know is there a way by which we can know that a C++ executable has finished its job in shell script.
My task is as follows:
1.Shell script calls a executable
2.Executable executes and performs its job of generating some reports.
Now i want my shell script to... (4 Replies)
Discussion started by: electroon
4 Replies
6. Shell Programming and Scripting
Hi all,
I have a script that is monitoring a hot folder. This script works fine with one exception when the script is executed while a file is being copied to the hot folder.
What is the easiest method to check if the copy file is completed? I'd like to get the solution in bash :) (8 Replies)
Discussion started by: gigagigosu
8 Replies
7. Shell Programming and Scripting
Hi, I'm doing a script that generate some background process like
for file in `find $dir -type f -maxdepth 1 -mtime -1`;
do
exp="java -cp process.jar testing $file &"
eval $exp
echo $! #Get the PID
echo $(basename $file) >> log
done
Is there a way to know when those... (1 Reply)
Discussion started by: amondracorp
1 Replies
8. Shell Programming and Scripting
I have a script which uses cli curl to download the source code of a webpage and then tests if a specific string exists in the source.
The problem is that the website has a slow response, so the eval expression hasn't completed when the test starts.
The test returns a negative, and the curl... (8 Replies)
Discussion started by: locoroco
8 Replies
9. Shell Programming and Scripting
I am running a macro script from the command line. But the script doesn't wait until the task has finished.
firefox imacros://run/?m=macro_script.iim
firefox imacros://run/?m=macro_script2.iim
How do I get it to wait until the macro has been completed?
I am using imacros, a firefox... (1 Reply)
Discussion started by: locoroco
1 Replies
10. Shell Programming and Scripting
Hello,
I have a script that is running multiple instances of an application in parallel.
# learn on f0
emergent -nogui -p $ScriptLoc/$PROJ fold_tag=f0 &
sleep 5
# learn on f1
emergent -nogui -p $ScriptLoc/$PROJ fold_tag=f1 &
sleep 5
# learn on f2
emergent -nogui -p... (4 Replies)
Discussion started by: LMHmedchem
4 Replies
LEARN ABOUT XFREE86
killall5
KILLALL5(8) Linux System Administrator's Manual KILLALL5(8)
NAME
killall5 -- send a signal to all processes.
SYNOPSIS
killall5 -signalnumber [-o omitpid[,omitpid..]] [-o omitpid[,omitpid..]..]
DESCRIPTION
killall5 is the SystemV killall command. It sends a signal to all processes except kernel threads and the processes in its own session, so
it won't kill the shell that is running the script it was called from. Its primary (only) use is in the rc scripts found in the /etc/init.d
directory.
OPTIONS
-o omitpid
Tells killall5 to omit processes with that process id.
NOTES
killall5 can also be invoked as pidof, which is simply a (symbolic) link to the killall5 program.
EXIT STATUS
The program return zero if it killed processes. It return 2 if no process were killed, and 1 if it was unable to find any processes
(/proc/ is missing).
SEE ALSO
halt(8), reboot(8), pidof(8)
AUTHOR
Miquel van Smoorenburg, miquels@cistron.nl
04 Nov 2003 KILLALL5(8)