- 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