I am having problems creating multiple forks. I want create a certain number of forks, each call a program and each wait for a different value. How is this accomplished my loop is not doing the trick.
Code:
for (i = 0; i < 5; i++) {
if (fork() < 0) {
//print error
}
else if (fork() == 0) {
//run a program (exec(...)
}
else {
p_id = wait(&result);
}
}
I know how to use the wait() and exec() call but can't figure out how to do this for multiple forks I need each fork to return a differnt value.
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)
Suppose that I am performing some operation on an sql database. Lets say process of Searching and then if a value is found, updating it... Now, when I have some millions of records on which the operation has to be performed... Does it help to spawn multiple processes each executing the same... (9 Replies)
Hello
I've got a script that creates multiple processes, in ksh, to bcp out 6 tables at a time. In the script, we write messages to the log to show our progress; most of the time, the log messages are nice and neat with one per line, like they should be. But every once in awhile, at random, the... (2 Replies)
Hi guys,
I want to run the multiple scripts at the same time using a ksh script.
For example, I have three scripts to run:
a.ksh, b.ksh and c.ksh
How to start the above 3 scripts simultaneously and then on the completion of the above scripts I have other tasks to schedule.
Thanks
Gary (6 Replies)
Hello,
I am trying to create a pipe that will direct stdout to in side of the pipe, and stdin to the out side of the pipe - I created two child processes to handle this. However, my pipe doesn't seem to be working correctly. Did I use execv() correctly? Command1 and command2 represent the two... (3 Replies)
Want to kill multiple processes by name. for the example below, I want to kill all 'proxy-stagerd_copy' processes.
I tried this but didn't work:
>> ps -ef|grep proxy_copy
root 991 986 0 14:45:34 ? 0:04 proxy-stagerd
root 1003 991 0 14:45:49 ? 0:01... (2 Replies)
Hello people,
I got one problem with a script.
I have a script which runs every five mins and in the script an ftp process is invoked which sends files to a particular location.
The problem is that the ftp process hangs every now and then which causes the whole script to hang.
As the... (4 Replies)
Hello people
I need help
How to make ONE process to create MORE (not one) processes with fork(). I tried several codes but do not work.
Thanks (8 Replies)
:)Hi there, I am new to scripting and wanted to see if someone can show me how to grep on multiple processes and send the output to a file in /home/mydir/output.
I am aware of
ps -ef | grep on 1 process
but need help looking up multiple processes, can you use this command
ps -elf | grep |pid1... (4 Replies)
Hi,
I have three files in my IN directory.Each file should be copied 25 times using for loop.Each file processing should run in parallel?How to spawn multiple processes in unix?Any help would be appreciated.
Thanks,
Liyakath (7 Replies)
Discussion started by: liyakathali
7 Replies
LEARN ABOUT V7
fork
FORK(2) System Calls Manual FORK(2)NAME
fork - spawn new process
SYNOPSIS
fork( )
DESCRIPTION
Fork is the only way new processes are created. The new process's core image is a copy of that of the caller of fork. The only distinc-
tion is the fact that the value returned in the old (parent) process contains the process ID of the new (child) process, while the value
returned in the child is 0. Process ID's range from 1 to 30,000. This process ID is used by wait(2).
Files open before the fork are shared, and have a common read-write pointer. In particular, this is the way that standard input and output
files are passed and also how pipes are set up.
SEE ALSO wait(2), exec(2)DIAGNOSTICS
Returns -1 and fails to create a process if: there is inadequate swap space, the user is not super-user and has too many processes, or the
system's process table is full. Only the super-user can take the last process-table slot.
ASSEMBLER
(fork = 2.)
sys fork
(new process return)
(old process return, new process ID in r0)
The return locations in the old and new process differ by one word. The C-bit is set in the old process if a new process could not be cre-
ated.
FORK(2)