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
IRC
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
ext
clib
socket.pl -- Network socket (TCP and UDP) library
time.pl -- Time and alarm library
uid.pl -- User and group management on Unix systems
unix.pl -- 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
syslog.pl -- Unix syslog interface
uri.pl -- Process URIs
filesex.pl -- Extended operations on files
memfile.pl
sha.pl -- SHA secure hashes
crypt.pl
uuid.pl -- Universally Unique Identifier (UUID) Library
process.pl -- Create processes and redirect I/O
md5.pl -- MD5 hashes
cgi.pl -- Read CGI parameters
hash_stream.pl -- Maintain a hash on a stream
mallocinfo.pl -- Memory allocation details
prolog_server.pl
prolog_stream.pl -- A stream with Prolog callbacks
rlimit.pl
sched.pl -- Access process scheduling
streaminfo.pl
streampool.pl -- Input multiplexing
udp_broadcast.pl -- A UDP broadcast proxy
fork_exec
(+Command)
is
det
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 ).