Fork: Difference between revisions

707 bytes added ,  2 years ago
Adding R implementation
(Adding R implementation)
Line 1,310:
else:
# child code</lang>
 
=={{header|R}}==
Two examples. The first is a higher level interface to fork system call. The second is a lower level interface for forking.
<lang R>
p <- parallel::mcparallel({
Sys.sleep(1)
cat("\tChild pid: ", Sys.getpid(), "\n")
TRUE
})
cat("Main pid: ", Sys.getpid(), "\n")
parallel::mccollect(p)
 
p <- parallel:::mcfork()
if (inherits(p, "masterProcess")) {
Sys.sleep(1)
cat("\tChild pid: ", Sys.getpid(), "\n")
parallel:::mcexit(, TRUE)
}
cat("Main pid: ", Sys.getpid(), "\n")
unserialize(parallel:::readChildren(2))</lang>
 
Output:
<pre>
Main pid: 331042
Child pid: 331052
$`331052`
[1] TRUE
 
Main pid: 331042
Child pid: 331054
[1] TRUE
</pre>
 
=={{header|Racket}}==
Anonymous user