10 More Discussions You Might Find Interesting
1. Ubuntu
Hi, I'm writing a shell script where I want to call fork(). However I wrote like this "var=fork()" in c style and got this error:
"syntax error near unexpected token `(' "
How could I call fork() in shell script? Thanks in advance. (2 Replies)
Discussion started by: Xiaoya
2 Replies
2. Shell Programming and Scripting
When command is executed by forking, the console displays the status of that command. I want to suppress it.. how to do it ?
Example:
var1=`date` &
echo "hello world";
output:
hello world
+ Done var1=`date`
I want to suppress the second line "+ Done var1=`date`".
I... (10 Replies)
Discussion started by: Arun_Linux
10 Replies
3. UNIX for Advanced & Expert Users
Hi
I wrote a simple fork program to illustrate the fork() system cal. here it is
#include<stdio.h>
#include<sys/stat.h>
#include<sys/types.h>
main()
{
int flag;
flag=fork();
if(flag==0)
{
printf("Child \n");
printf("Process id= %d\n",getpid());
... (3 Replies)
Discussion started by: badsha6642
3 Replies
4. Programming
hi all,
i tried the following source codes:
fork1.c:
main()
{
printf("demo of fork\n");
fork();
printf("hello");
}
output:
demo of fork
hello hello
fork2.c:
main() (3 Replies)
Discussion started by: pnirmala
3 Replies
5. Shell Programming and Scripting
hi,
i tried the following source codes:
fork1.c:
main()
{
printf("demo of fork\n");
fork();
printf("hello");
}
output:
demo of fork
hello hello
fork2.c:
main()
{
printf("demo of fork"); (0 Replies)
Discussion started by: pnirmala
0 Replies
6. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
i have a problem in understanding the behaviour of fork .
i understood fork as to create a new process and... (4 Replies)
Discussion started by: MrUser
4 Replies
7. UNIX for Dummies Questions & Answers
Hi folks,
I want to know how this below program works?
#include <stdio.h>
int main()
{
printf("A\n");
fork();
printf("B\n");
fork();
fork();
printf("D\n");
fork();
printf("C\n");
}
This is just for example. How this type of programs where fork is used many places, how the... (1 Reply)
Discussion started by: u_peerless
1 Replies
8. UNIX for Dummies Questions & Answers
Can anyone explain me what really happens when a system call fork() is called ?
I like to know what happens internally.
Thanks in Advance.
- Arun (1 Reply)
Discussion started by: arunviswanath
1 Replies
9. Programming
One more question. How can i calculate the time that system needs to make fork() system call? I need to make it with times function but i really don't know how. :( (2 Replies)
Discussion started by: davidoff
2 Replies
10. UNIX for Advanced & Expert Users
I desperately wanted one of the UNIX Gurus to help me resolve my problem asap(I have to deliver the code to the client by Monday 08-oct).
I have a file with around 5 million records (50 lakhs). Now my original process was taking around 30 hours to read the complete file, process each and every... (4 Replies)
Discussion started by: kkumar1975
4 Replies
fork(2) System Calls Manual fork(2)
Name
fork - create a new process
Syntax
#include <sys/types.h>
#include <unistd.h>
pid = fork()
pid_t pid;
Description
The system call causes creation of a new process. The new process (child process) is an exact copy of the calling process except for the
following:
o The child process has a unique process ID.
o The child process has a different parent process ID (that is, the process ID of the parent process).
o The child process has its own copy of the parent's descriptors. These descriptors reference the same underlying objects, so that, for
instance, file pointers in file objects are shared between the child and the parent, so that a on a descriptor in the child process
can affect a subsequent read or write by the parent. This descriptor copying is also used by the shell to establish standard input
and output for newly created processes as well as to set up pipes.
o The child processes resource utilizations are set to 0. For further information, see
Return Values
Upon successful completion, returns a value of 0 to the child process and returns the process ID of the child process to the parent
process. Otherwise, a value of -1 is returned to the parent process, no child process is created, and the global variable errno is set to
indicate the error.
Diagnostics
The system call fails and no child process are created under the following conditions:
[EAGAIN] The system-imposed limit {PROC_MAX} on the total number of processes under execution would be exceeded.
[EAGAIN] The system-imposed limit {CHILD_MAX} on the total number of processes under execution by a single user would be exceeded.
[ENOMEM] There is insufficient swap space for the new process.
See Also
execve(2), wait(2)
fork(2)