03-05-2008
Redirect Output Multi-Process
Hi,
I'm trying to compile the following code:
/************** Begin <test.c> ***************/
/*
* Compiled with: gcc -Wall -o test test.c
*/
#include <stdio.h>
#include <unistd.h>
int main(void)
{
printf("I'm process %d, son of %d \n", getpid(), getppid());
printf("Hello \n");
fork();
printf("Everyone \n");
printf("I'm process %d, son of %d \n", getpid(), getppid());
return(0);
}
/************** End <test.c> ***************/
I compile it like:
$ gcc -Wall -o test test.c
Then, if i test it leaving the output to standard output i have:
$ ./test
I'm process 1568, son of 1541
Hello
Everyone
I'm process 1568, son of 1541
Everyone
I'm process 1569, son of 1
If i redirect the output to a file i have:
$ ./test > file.txt
$ cat file.txt
I'm process 1571, son of 1541
Hello
Everyone
I'm process 1572, son of 1571
I'm process 1571, son of 1541
Hello
Everyone
I'm process 1571, son of 1541
My question is if it should happen like this.
How can i redirect the output to a file and have the same as if i
leave it to standard output.
Why is the son process executing the print before the fork? Is it buffered text?
Would like your help on this subject.
Best regards,
João José
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
The following command does not work under cygwin bash.
ant debug >log 2>&1 && ant image >>log 2>>&1 & pid=$!
It gives the error "-bash: sysntax error near unexpected token '&'".
Is there a way I can redirect std output and std error to file "log" for both the commands "ant debug" and "ant... (1 Reply)
Discussion started by: siegfried
1 Replies
2. Programming
Hi,
Am supposed to use message queues to send and receive messages between the processes. when i was working on that i realised that the message qid and the message queue related data should be maintained in a shared memory so that it can be accessed by all the processes. Could anybody refer... (10 Replies)
Discussion started by: rvan
10 Replies
3. Shell Programming and Scripting
Hi,
I have a process running in the background, which throws up some output to the terminal when I run my script. How can I read this output from my script?
Thank you. (5 Replies)
Discussion started by: Theju
5 Replies
4. Programming
Hi,
I'm trying to compile the following code:
/************** Begin <test.c> ***************/
/*
* Compiled with: gcc -Wall -o test test.c
*/
#include <stdio.h>
#include <unistd.h>
int main(void)
{
printf("I'm process %d, son of %d \n", getpid(), getppid());
... (5 Replies)
Discussion started by: djodjo
5 Replies
5. High Performance Computing
I read that 'Any single program that can run as multiple processes can benefit from OpenMosix: "The GIMP" photo editor and the "kandel" fractal generator are known to do this.
Are there other load-balancing clusters that do support multi-process applications? (1 Reply)
Discussion started by: Advice Pro
1 Replies
6. Shell Programming and Scripting
Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions.
... (4 Replies)
Discussion started by: aix_admin_007
4 Replies
7. Shell Programming and Scripting
Hi Guys,
I want to redirect the output of 3 scripts to a file and then mail the output of those three scripts.
I used below but it is not working:
OFILE=/home/home1/report1
echo "report1 details" > $OFILE
=/home/home1/1.sh > $OFILE
echo... (7 Replies)
Discussion started by: Vivekit82
7 Replies
8. Programming
So I am trying to learn C and am coding some scripts on my own.
For a start I have decided to port the shell script developed by wisecracker into C.( Here is the link to that script A simple reminder script for beginners to shell scripting. | Unix Linux Forums | OS X (Apple) )
This is what I... (7 Replies)
Discussion started by: chacko193
7 Replies
9. Shell Programming and Scripting
Hey guys,
I have a python script that I call with this line:
python mypythonscript.py >> results.csv &The problem is that the redirection from the stdout to the file results.csv only writes 4096 kbyte blocks.
So if i kill this process with
kill the last kbytes that the script produce will... (6 Replies)
Discussion started by: Mastaer
6 Replies
10. Shell Programming and Scripting
hi
I want to call a lot of links with the post method
What to do to speed it up??
####This method is slow
#!/bin/bash
func2() {
index1=0
while read line ; do
index1=$(($index1+1))
url=$line
done < tmp/url1.txt
} (10 Replies)
Discussion started by: mnnn
10 Replies
LEARN ABOUT OPENSOLARIS
getpgrp
getpid(2) System Calls getpid(2)
NAME
getpid, getpgrp, getppid, getpgid - get process, process group, and parent process IDs
SYNOPSIS
#include <unistd.h>
pid_t getpid(void);
pid_t getpgrp(void);
pid_t getppid(void);
pid_t getpgid(pid_t pid);
DESCRIPTION
The getpid() function returns the process ID of the calling process.
The getpgrp() function returns the process group ID of the calling process.
The getppid() function returns the parent process ID of the calling process.
The getpgid() function returns the process group ID of the process whose process ID is equal to pid, or the process group ID of the calling
process, if pid is equal to 0.
RETURN VALUES
The getpid(), getpgrp(), and getppid() functions are always successful and no return value is reserved to indicate an error.
Upon successful completion, getpgid() returns the process group ID. Otherwise, getpgid() returns (pid_t)-1 and sets errno to indicate the
error.
ERRORS
The getpgid() function will fail if:
EPERM The process whose process ID is equal to pid is not in the same session as the calling process, and the implementation does not
allow access to the process group ID of that process from the calling process.
ESRCH There is no process with a process ID equal to pid.
The getpgid() function may fail if:
EINVAL The value of the pid argument is invalid.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(5). |
+-----------------------------+-----------------------------+
SEE ALSO
Intro(2), exec(2), fork(2), getsid(2), setpgid(2), setpgrp(2), setsid(2), signal(3C), attributes(5), standards(5)
SunOS 5.11 27 Jan 2009 getpid(2)