diff --git a/src/utils/kill.ts b/src/utils/kill.ts new file mode 100644 index 0000000..9d181f3 --- /dev/null +++ b/src/utils/kill.ts @@ -0,0 +1,28 @@ +import { NS } from '@ns'; + +export const kill = (ns: NS, hostname: string) => { + // get a list of all the running processes on the specified host + const processes = ns.ps(hostname); + + let killedProcesses = 0; + let killedThreads = 0; + let memFreed = 0; + + processes.forEach((process) => { + // calculate the amount of memory that will be freed by killing this process + memFreed = process.threads * ns.getScriptRam(process.filename); + + // kill each process by its pid + ns.kill(process.pid); + + // update the counters + killedProcesses++; + killedThreads += process.threads; + memFreed += memFreed; + }); + + ns.tprint(`Killed processes on ${hostname}:`); + ns.tprint(`Processes killed: ${killedProcesses}`); + ns.tprint(`Threads killed: ${killedThreads}`); + ns.tprint(`Memory freed: ${memFreed} GB`); +};