12-29-2003
In case a thread library is available on your system, you may wish to use it instead of fork()ing because process switching is a more resource intensive than that of threads.
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
well, my internet brakes down every day because of my server, i don't have troubles with RAM or anything i think... that problem started since i am running an unrealircd server...
well, my internet brakes down and when i try to access the inside ip from the server on http port 80, it says that:... (2 Replies)
Discussion started by: AiRkO
2 Replies
2. Programming
Try to solve this.....It's a nice program.....
#include<stdio.h>
void change()
{
/*Write something in this function so that the output of printf in main function should give 5 . Do not change the main function */ }
void main()
{
int i=5;
change(); (9 Replies)
Discussion started by: Baba B. Saheb
9 Replies
3. UNIX for Advanced & Expert Users
Hi, all,
The following commands could compute the 10 most frequent bigrams from a input sequence which is in a file infile.
I would like to know whether there is somebody who can use only two unix commands to do the same work.
--------------------
tr " " "\012*" <infile >out1
tail +2... (3 Replies)
Discussion started by: vicky20000
3 Replies
4. UNIX for Advanced & Expert Users
Hi!
My unix os version is OSF1 CP1 V4.0 878 alpha.
It startup normally but it restarts within 5 sec.
I would like to know how to solve .
Please reply to me.
Thanks .
akzin (2 Replies)
Discussion started by: akzin
2 Replies
5. IP Networking
I have a Red Hat linux server X on a x.x.0.0 network. This machine also has to communicate with another server Y on a network called y.y.0.0
Server X has two network interfaces.
eth0 is configured on the x.x.0.0 network and has a default gateway on the x.x.0.0 network.
In order to... (4 Replies)
Discussion started by: soliberus
4 Replies
6. UNIX for Advanced & Expert Users
I have a file process.txt
I wanted to just grab data in "process" column.
Name process process_id status
Adminserver adminserver 22669 Running
Browser Engine browserengine ... (7 Replies)
Discussion started by: soemac
7 Replies
7. Shell Programming and Scripting
Take a look on this code:
#!/bin/sh
currentpath=`pwd`
if ; then
#Normal user
if ; then
"$currentpath"/.cleaner
else
./runit
fi
else
#Root user
if ; then
rm -r /some
fi
mkdir /some
cd /home/
echo "`ls --group-directories-first -1`" > /some/allusers
cat /some/allusers | sed 's/... (17 Replies)
Discussion started by: hakermania
17 Replies
8. Shell Programming and Scripting
Hi all,
I have a file.....
I want to print 2nd column arranged according to order of first column, present in second file.....
So, the output should be:
I am using following code:
awk 'NR==FNR{a=$2;next}{print a?a:"ABSENT\t"}' file1 file2
But, it seems that the... (3 Replies)
Discussion started by: CAch
3 Replies
9. Shell Programming and Scripting
Hello,
I would really appreciate some help into approaching this problem:
- i have a random txt file with x lines and y rows following this pattern:
ex:
ip1 | user1 | command
ip2 | user2 | command
ip3 | user3 | command
- i need to telnet/ssh into these ip's, login with... (7 Replies)
Discussion started by: catalinstk
7 Replies
FORK(2) BSD System Calls Manual FORK(2)
NAME
fork -- create a new process
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
pid_t
fork(void);
DESCRIPTION
The fork() system call causes creation of a new process. The new process (child process) is an exact copy of the calling process (parent
process) except for the following:
o The child process has a unique process ID.
o The child process has a different parent process ID (i.e., 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 an lseek(2) on a descriptor in the
child process can affect a subsequent read(2) or write(2) 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 process' resource utilizations are set to 0; see setrlimit(2).
o All interval timers are cleared; see setitimer(2).
o The child process has only one thread, corresponding to the calling thread in the parent process. If the process has more than one
thread, locks and other resources held by the other threads are not released and therefore only async-signal-safe functions (see
sigaction(2)) are guaranteed to work in the child process until a call to execve(2) or a similar function.
RETURN VALUES
Upon successful completion, fork() 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.
ERRORS
The fork() system call will fail and no child process will be created if:
[EAGAIN] The system-imposed limit on the total number of processes under execution would be exceeded. The limit is given by the
sysctl(3) MIB variable KERN_MAXPROC. (The limit is actually ten less than this except for the super user).
[EAGAIN] The user is not the super user, and the system-imposed limit on the total number of processes under execution by a single
user would be exceeded. The limit is given by the sysctl(3) MIB variable KERN_MAXPROCPERUID.
[EAGAIN] The user is not the super user, and the soft resource limit corresponding to the resource argument RLIMIT_NPROC would be
exceeded (see getrlimit(2)).
[ENOMEM] There is insufficient swap space for the new process.
SEE ALSO
execve(2), rfork(2), setitimer(2), setrlimit(2), sigaction(2), vfork(2), wait(2)
HISTORY
The fork() function appeared in Version 6 AT&T UNIX.
BSD
May 31, 2013 BSD