Skip to content

0x2b3bfa0/node-pseudoexec

Repository files navigation

Ersatz exec(3) for Node JS npm version

Node JS doesn't provide any means for processes to replace themselves through functions from the exec(3) family. Thus, pseudoexec provides a convenience wrapper over child_process.spawn() that causes the child process to inherit the parent process' stdio(3) standard input/output/error streams and handle all the syscalls(2) sent to the parent.

⚠️ Warning: Windows is not fully supported, because it doesn't support signals.

Example

const { pseudoexec } = require("pseudoexec");

pseudoexec("sl", ["-f", "-a"]).then(process.exit);

Maintenance

This package uses process.binding() (DEP0111) to retrieve a list of signals specific to the current operating system, exactly in the same way as Node JS does internally. This function is pending deprecation and might not be available in future versions of Node JS.

Alternatives