SWI-Prolog can be executed in one of the following modes:
swipl --helpswipl --versionswipl --archswipl --dump-runtime-variablesswipl [option ...] script-file 
[arg ...]#!/path/to/executable 
[option ...] is executed. Arguments after the script file are 
made available in the Prolog flag argv.swipl [option ...] prolog-file 
... [[--] arg ...].pl, .prolog 
or (on Windows) the user preferred extension registered during 
installation), these files are loaded. The first file is registered in 
the Prolog flag
associated_file. 
In addition, pl-win[.exe] switches to the directory in which this 
primary source file is located using working_directory/2.swipl -o output -c prolog-file 
...swipl -o output -b bootfile prolog-file 
...eval `swipl --dump-runtime-variables` cc -I$PLBASE/include -L$PLBASE/lib/$PLARCH ...
The option can be followed by =sh to dump in POSIX shell 
format (default) or =cmd to dump in MS-Windows cmd.exe 
compatible format.
Note that boolean options may be written as --name 
(true), --noname or --no-name (false). They 
are written as --no-name below as the default is‘true’.
=no-flag,
flag is set to false. Otherwise, the flag name 
is set to true. The name[=value] may follow 
the -D immediately or appear as the next commandline 
argument.
Note that many of the commandline options are reflected by a Prolog 
flag. We intend to handle these as synonyms. Currently, some of the 
commandline flags affect the Prolog initilization before loading the 
saved state has completed, while other may not be changed after Prolog 
initialization. For example, future versions will support
-Dhome=dir to change the notion of the Prolog installation 
directory.
SIGINT) 
immediately. Normally debugging on interrupt is enabled when entering 
the interactive toplevel. This flag can be used to start the debugger on 
an interrupt while executing goals from -g or
initialization/[1,2]. 
See also the Prolog flag
debug_on_interrupt.silent, suppressing informational and banner messages. 
Also available as -q.false. 
See section 
12.4.25.1 for details. Note that the handler to unblock system calls 
is still installed. This can be prevented using --sigalert=0 
additionally. See --sigalert.--pce load the xpce system in 
user space and --no-pce makes it unavailable in the 
session.http://localhost:port. If
port is specified, the server is started at the given port 
and the browser is not launched.SIGUSR2. 
If NUM is 0 (zero), this handler is not installed. See prolog_alert_signal/2 
to query or modify this value at runtime....\My Documents\Prolog or local equivalent thereof (see
win_folder/2). 
The Prolog subdirectory is created if it does not exist.init.pl.‘-f none’stops 
SWI-Prolog from searching for a startup file. This option can be used as 
an alternative to
-s file that stops Prolog from loading the 
personal initialisation file. See also section 
2.2.<script>.rc. The default
script name is deduced from the executable, taking the 
leading alphanumerical characters (letters, digits and underscore) from 
the program name. -F none stops looking for 
a script. Intended for simple management of slightly different versions. 
One could, for example, write a script iso.rc and then 
select ISO compatibility mode using pl -F iso or make a 
link from iso-pl to
pl.;:As of version 7.7.14 the stacks are no longer limited individually. Instead, only the combined size is limited. Note that 32 bit systems still pose a 128Mb limit. See section 2.19.1. The combined limit is by default 1Gb on 64 bit machines and 512Mb on 32 bit machines.
For example, to limit the stacks to 32Gb use the command below. Note 
that the stack limits apply per thread. Individual threads may 
be controlled using the stack_limit(+Bytes) option of 
thread_create. Any thread can call set_prolog_flag(stack_limit, 
Limit) (see
stack_limit) to 
adjust the stack limit. This limit is inherited by threads created from 
this thread.
$ swipl --stack-limit=32g
% swipl <options> -g go -g halt
The following options are for system maintenance. They are given for reference only.
-DO_DEBUG flag. System maintenance only.