Files
bitburner-src/markdown/bitburner.ns.scriptrunning.md
David Walker b51ed8fd59 BUG: Fix missed cases in offline server handling (#2495)
There were two large holes in the existing offline server handling:

1. It didn't include IPs, so scripts that used IPs instead of hostnames
   would get exceptions thrown for "server not found."
2. Coverage was very low for non-Darknet APIs. Maybe most of them don't
   need to be covered, but many obvious ones like "ps", "killall" and
   "hasRootAccess" were missing. IMO the only reliable answer is one
   that enforces *all* are covered via the type system.

To accomplish the second part, helpers.getServer() was changed to return
null when a server is offline. This intentionally breaks a lot of its
utility, which was to return a server unconditionally. To compensate,
its utility was increased - it now also does unknown argument
processing, allowing it to subsume a common line that all callers were
repeating.

Some callers switched to ctx.workerScript.getServer(), because they
didn't actually need to be using helpers.getServer(). Similarly, a few
callsites switched to GetServerOrThrow(), for the cases where it should
be guaranteed that the server is valid. The rest are returning a
default/failure response when the server is offline. (Except for
contracts, which threw on failure already anyway.)
2026-02-15 10:29:47 -08:00

1.6 KiB

Home > bitburner > NS > scriptRunning

NS.scriptRunning() method

Check if any script with a filename is running.

Signature:

scriptRunning(script: string, host?: string): boolean;

Parameters

Parameter

Type

Description

script

string

Filename of script to check. This is case-sensitive.

host

string

(Optional) Hostname/IP of the target server. Optional. Defaults to current server if not provided.

Returns:

boolean

True if the specified script is running, and false otherwise.

Remarks

RAM cost: 1 GB

Returns a boolean indicating whether any instance of the specified script is running on the target server, regardless of its arguments.

This is different than the isRunning function because it does not try to identify a specific instance of a running script by its arguments.

Example

//The function call will return true if there is any script named foo.js running on the foodnstuff server, and false otherwise:
ns.scriptRunning("foo.js", "foodnstuff");

//The function call will return true if there is any script named “foo.js” running on the current server, and false otherwise:
ns.scriptRunning("foo.js", ns.getHostname());