Did you know ...
Search Documentation:
Predicate fork_exec/1
HOME
DOWNLOAD
SWI-Prolog
Sources/building
Docker images
Add-ons
Browse GIT
DOCUMENTATION
Manual
Packages
FAQ
Command line
PlDoc
Bluffers
▶
Prolog syntax
PceEmacs
HTML generation
License
Publications
Rev 7 Extensions
TUTORIALS
Beginner
▶
Getting started
Learn Prolog Now!
Simply Logical
Debugger
Development tools
Advanced
▶
Modules
Grammars (DCGs)
clp(fd)
Printing messages
PlDoc
Web applications
▶
Web applications
Let's Encrypt!
Pengines
Semantic web
▶
ClioPatria
RDF namespaces
Graphics
▶
XPCE
GUI options
Machine learning
▶
Probabilistic Logic Programming
External collections
▶
Meta level tutorials
For packagers
▶
Linux packages
COMMUNITY
Forum & mailing list
Blog
News
Report a bug
Submit a patch
Submit an add-on
Roadmap (on GitHub)
External links
Contributing
Code of Conduct
Contributors
SWI-Prolog items
COMMERCIAL
WIKI
Login
View changes
Sandbox
Wiki help
All tags
Documentation
Reference manual
Packages
SWI-Prolog C-library
library(unix): Unix specific operations
fork/1
fork_exec/1
exec/1
wait/2
kill/2
pipe/2
dup/2
detach_IO/1
detach_IO/0
prctl/1
sysconf/1
Availability:
:- use_module(
library(unix)
).
(can be
autoloaded
)
[det]
fork_exec
(
+Command
)
Fork (as
fork/1
) and exec (using
exec/1
) the child immediately. This behaves as the code below, but bypasses the check for the existence of other threads because this is a safe scenario.
fork_exec(Command) :- ( fork(child) -> exec(Command) ; true ).