Re^2: difference between exec, system, fork, pipe, syscall and evalby kiruthika.bkite (Scribe)
|on Mar 20, 2010 at 05:11 UTC||Need Help??|
- exec is used to execute the given process by replacing the current process.
- If the given process get executed successfully then exec will not return the value.
- exec returns the value in case of failure only.
- System is also doing the same thing as exec but system returns value in both success and failure cases.
- And parent process waits for the child process to complete.
- System() runs the command through a shell,while exec() runs the command directly.
- fork is used to create a new process(child process).
- And it is returning the PID of child to parent and zero to child if the fork is successful.
- The difference between the fork and exec is exec replaces the current process but fork doesn't.
- pipe is used for communicating between two processes.
- We can use both named and nameless pipes.
- It returns open a pair of pipes.
- In one end we can write.
- And in another end we can read the content.
- syscall is used to call the system call which is specified as a first argument.
- Remaining elements are the arguments to the system call.
For more details visit the following link also. Perl IPC