2022-10-21 17:16:00 +02:00
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home ](./index.md ) > [bitburner ](./bitburner.md ) > [NS ](./bitburner.ns.md ) > [exec ](./bitburner.ns.exec.md )
## NS.exec() method
Start another script on any server.
2023-02-11 19:18:50 +01:00
**Signature:**
2022-10-21 17:16:00 +02:00
```typescript
2024-04-24 02:21:05 +02:00
exec(script: string, hostname: string, threadOrOptions?: number | RunOptions, ...args: ScriptArg[]): number;
2022-10-21 17:16:00 +02:00
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
2023-05-26 14:07:37 +02:00
| script | string | Filename of script to execute. This file must already exist on the target server. |
2023-02-14 07:32:01 +01:00
| hostname | string | Hostname of the < code > target server< / code > on which to execute the script. |
2023-03-21 23:54:49 +01:00
| threadOrOptions | number \| [RunOptions ](./bitburner.runoptions.md ) | _(Optional)_ Either an integer number of threads for new script, or a [RunOptions ](./bitburner.runoptions.md ) object. Threads defaults to 1. |
2024-04-24 02:21:05 +02:00
| args | [ScriptArg ](./bitburner.scriptarg.md )<!-- --> \[\] | 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 threadOrOptions must be filled in with a value. |
2022-10-21 17:16:00 +02:00
2023-02-11 19:18:50 +01:00
**Returns:**
2022-10-21 17:16:00 +02:00
number
Returns the PID of a successfully started script, and 0 otherwise.
## Remarks
RAM cost: 1.3 GB
2023-05-26 14:07:37 +02:00
Run a script as a separate process on a specified server. This is similar to the function [run ](./bitburner.ns.run.md ) except that it can be used to run a script that already exists on any server, instead of just the current server.
2022-10-21 17:16:00 +02:00
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.
2023-03-21 23:54:49 +01:00
Running this function with 0 or fewer threads will cause a runtime error.
2022-10-21 17:16:00 +02:00
2023-02-14 07:32:01 +01:00
## Example
2022-10-21 17:16:00 +02:00
2023-02-14 07:32:01 +01:00
```js
2022-10-21 17:16:00 +02:00
// The simplest way to use the exec command is to call it with just the script name
2023-02-14 07:32:01 +01:00
// and the target server. The following example will try to run generic-hack.js
2022-10-21 17:16:00 +02:00
// on the foodnstuff server.
2023-02-14 07:32:01 +01:00
ns.exec("generic-hack.js", "foodnstuff");
2022-10-21 17:16:00 +02:00
2023-02-14 07:32:01 +01:00
// The following example will try to run the script generic-hack.js on the
2022-10-21 17:16:00 +02:00
// joesguns server with 10 threads.
2023-03-21 23:54:49 +01:00
ns.exec("generic-hack.js", "joesguns", {threads: 10});
2022-10-21 17:16:00 +02:00
2023-02-14 07:32:01 +01:00
// This last example will try to run the script foo.js on the foodnstuff server
2022-10-21 17:16:00 +02:00
// with 5 threads. It will also pass the number 1 and the string “test” in as
// arguments to the script.
2023-02-14 07:32:01 +01:00
ns.exec("foo.js", "foodnstuff", 5, 1, "test");
2022-10-21 17:16:00 +02:00
```