Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
8.7.0 -- Solder Savior source code.tar.gz | 2025-07-11 | 490.9 kB | |
8.7.0 -- Solder Savior source code.zip | 2025-07-11 | 559.0 kB | |
README.md | 2025-07-11 | 1.4 kB | |
Totals: 3 Items | 1.1 MB | 0 |
Important fixes for annoying flaky bugs
kill() 🐞
We've found an interesting case #1262
:::js
const p = $`sleep 1000`
const {pid} = p // 12345
await p.kill()
If we kill the process again, the result might be unexpected:
:::js
await ps({pid}) // {pid: 12345, ppid: 67890, command: 'another command', ...}
p.kill()
This happens because the pid
may be reused by the system for another process, so we've added extra assertions to prevent indeterminacy:
:::js
p.kill() // Error: Too late to kill the process.
p.abort() // Error: Too late to abort the process.
ps() 🐛
ps()
uses wmic internally on Windows, it relies on fragile heuristics to parse the output. We have improved this logic to handle more format variants, but over time (in v9 maybe) we're planning to change the approach.
#1256 #1263 [webpod/ps#12](https://github.com/webpod/ps/issues/12) [webpod/ingrid#6](https://github.com/webpod/ingrid/issues/6)
:::js
const [root] = await ps.lookup({ pid: process.pid })
assert.equal(root.pid, process.pid)