@intlayer/chokidar
Version:
Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.
47 lines (45 loc) • 1.19 kB
JavaScript
import { run } from "./bin.mjs";
import * as os$1 from "node:os";
//#region src/utils/runParallel/ps.ts
/**
* Gets the list of all the pids of the system through the ps command.
* @param callback Callback function with error and process list.
*/
const ps = (callback) => {
run("ps", [
"-A",
"-o",
"ppid,pid"
], (err, stdout, code) => {
if (err) {
callback(err);
return;
}
if (code !== 0) {
callback(/* @__PURE__ */ new Error(`pidtree ps command exited with code ${code}`));
return;
}
if (!stdout) {
callback(/* @__PURE__ */ new Error("No stdout received from ps command"));
return;
}
try {
const lines = stdout.split(os$1.EOL);
const list = [];
for (let i = 1; i < lines.length; i++) {
const trimmed = lines[i].trim();
if (!trimmed) continue;
const parts = trimmed.split(/\s+/);
const ppid = parseInt(parts[0], 10);
const pid = parseInt(parts[1], 10);
if (!Number.isNaN(ppid) && !Number.isNaN(pid)) list.push([ppid, pid]);
}
callback(null, list);
} catch (error) {
callback(error instanceof Error ? error : new Error(String(error)));
}
});
};
//#endregion
export { ps };
//# sourceMappingURL=ps.mjs.map