bitburner-src/markdown/bitburner.ns.exec.md
Snarling 08e71c732b
Threads are a positive integer (#366)
* Added new positive integer ns validation helper
* `run`, `exec`, and `spawn` verify threads as a positive integer.
* `run` terminal command also fails if the provided threadcount is not a positive integer.
* Removed some references to .script files in various documentation, and removed some of the NS1 example blocks
2023-02-14 01:32:01 -05:00

2.2 KiB

Home > bitburner > NS > exec

NS.exec() method

Start another script on any server.

Signature:

exec(script: string, hostname: string, numThreads?: number, ...args: (string | number | boolean)[]): number;

Parameters

Parameter Type Description
script string Filename of script to execute.
hostname string Hostname of the target server on which to execute the script.
numThreads number (Optional) Integer number of threads for new script. Defaults to 1.
args (string | number | boolean)[] Additional arguments to pass into the new script that is being run. Note that if any arguments are being passed into the new script, then the third argument numThreads must be filled in with a value.

Returns:

number

Returns the PID of a successfully started script, and 0 otherwise.

Remarks

RAM cost: 1.3 GB

Run a script as a separate process on a specified server. This is similar to the function run except that it can be used to run a script on any server, instead of just the current server.

If the script was successfully started, then this function returns the PID of that script. Otherwise, it returns 0.

PID stands for Process ID. The PID is a unique identifier for each script. The PID will always be a positive integer.

Running this function with a numThreads argument of 0 or less will cause a runtime error.

Example

// The simplest way to use the exec command is to call it with just the script name
// and the target server. The following example will try to run generic-hack.js
// on the foodnstuff server.
ns.exec("generic-hack.js", "foodnstuff");

// The following example will try to run the script generic-hack.js on the
// joesguns server with 10 threads.
ns.exec("generic-hack.js", "joesguns", 10);

// This last example will try to run the script foo.js on the foodnstuff server
// with 5 threads. It will also pass the number 1 and the string “test” in as
// arguments to the script.
ns.exec("foo.js", "foodnstuff", 5, 1, "test");