07-01-2007
Quote:
Originally Posted by
axes
I need to execute another program in each thread.
Each thread may call fork() then exec() if that is what you mean?
The rules are that are that after fork() only one thread is running in the child process, and that was the thread that called fork().
Also have a look at pthread_atfork() and see if you need to do anything to protect mutexes etc.
10 More Discussions You Might Find Interesting
1. Programming
When I compile this C programme I get different outputs each time I run it
Please explain to me whats happening in the code if you can give me a detailed explanation. Because I am stuck with this.
#include <stdio.h>
main(){
int i = 0;
printf("I am the... (1 Reply)
Discussion started by: manjuWicky
1 Replies
2. UNIX for Advanced & Expert Users
When I compile this C programme I get different outputs each time I run it
Please explain to me whats happening in the code if you can give me a detailed explanation with the schedular functionality it will help a lot. Because I am stuck with this.
#include <stdio.h>
main(){... (3 Replies)
Discussion started by: manjuWicky
3 Replies
3. Programming
Hi
I'm currently working with C on UNIX (HPUX) and need to be able to fork a seperate Java process from within a running C process.
I can run the following code from the command line via a script but am having difficulty getting it to work from within the code.
I am trying to use execl. Is... (4 Replies)
Discussion started by: themezzaman
4 Replies
4. Programming
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
pid_t pID;
int i;
for (i = 0; i < 3; i++)
{
pID = fork ();
if (pID == 0)
{
printf ("Value of i --> %d... (2 Replies)
Discussion started by: kymthasneem
2 Replies
5. Shell Programming and Scripting
Hello,
I am new to this site, so sorry ahead of time if this is not the right place for this question.......anywhooooo
I am having troubles with forking new processes in wish. Take the following code example:
****************************
package require Tclx
puts "TCL VER: "
proc... (3 Replies)
Discussion started by: pghamami
3 Replies
6. Programming
i wanna ask about forking in unix...how can you do forking...??i don't understand and i have an assignment about it...the output should look like this...
Question 1 : what's your name ?
Answer : if no answer, write to file...----Out of time-----because for each question it is given a... (3 Replies)
Discussion started by: kkk02
3 Replies
7. Shell Programming and Scripting
Hi,
my $log = IO::File->new(">$log_file_name");
$log->print("date()."--\n\n\n");
sub process {
my ($sub_dir, $file, $config, $log) = @_;
$log->print("-- Reading $file file\n");
}
my $pm = new Parallel::ForkManager($tc+1);
$pm->run_on_finish( sub { my ($pid, $exit_code,... (1 Reply)
Discussion started by: sandy1028
1 Replies
8. Shell Programming and Scripting
Keep in mind that I haven't done Perl scripting for a LONG time, so I'm quite rusty.
This is what I would like to do:
- using fork, create 3 or 4 processes to read 3 or 4 different text documents containing server names or IP addresses
- in each of those processes, Perl will ping each of those... (7 Replies)
Discussion started by: kooshi
7 Replies
9. Programming
My question is, how do you fork only the parent processes in unix? For example how would I use the fork function to fork the parent process more than once and leave the children processes alone. This way I do not have children of children. The way I have it set up now it the parent process forks 3... (7 Replies)
Discussion started by: TWhitt24
7 Replies
10. Programming
I have an input file with contents like:
5785690|68690|898809
7960789|89709|789789
7669900|87865|659708
7869098|65769|347658
so on..
I need to pass this file to 10 parallely running processes (forking)so that each line is processed by a process and no line is processed twice and write the... (1 Reply)
Discussion started by: rkrish
1 Replies
LEARN ABOUT HPUX
pthread_atfork
pthread_atfork(3T) pthread_atfork(3T)
NAME
pthread_atfork() - register fork handlers.
SYNOPSIS
PARAMETERS
prepare This function is called before performing the
parent This function is called in the parent process after performing the
child This function is called in the child process after performing the
DESCRIPTION
The function allows an application to install fork handlers. These fork handlers will be called before and after a operation. These han-
dlers will be called in the context of the thread calling Similar to the handlers, the application does not need to do anything special for
these fork handlers to be called. They will be invoked by the system when a operation occurs.
The function is called before the operation in the parent process. The function is called after the operation in the parent process. The
function is called after the operation in the child process.
If a fork handler is not needed in one or more of these three places, the appropriate fork handler parameter may be set to NULL.
A process may install multiple fork handling functions. The and fork handlers will be called in the order in which they were installed
(i.e., The fork handlers will be called in the opposite order (i.e.,
RETURN VALUE
Upon successful completion, returns zero. Otherwise, an error number is returned to indicate the error (the variable is not set).
ERRORS
If any of the following occur, the function returns the corresponding error number:
[ENOMEM] There is insufficient table space to install the fork handlers.
AUTHOR
was derived from the IEEE POSIX P1003.1c standard.
SEE ALSO
fork(2), atexit(3).
STANDARDS CONFORMANCE
Pthread Library pthread_atfork(3T)