diff --git a/src/ui/processTree/darwinProcessTree.ts b/src/ui/processTree/darwinProcessTree.ts index 7c9690b39..f41b8b058 100644 --- a/src/ui/processTree/darwinProcessTree.ts +++ b/src/ui/processTree/darwinProcessTree.ts @@ -63,7 +63,8 @@ export class DarwinProcessTree extends BaseProcessTree { let commandOffset: number | void; return line => { if (!commandOffset) { - commandOffset = line.indexOf('COMMAND'); + // procps on Linux also labels the comm column COMMAND, so use the last one. + commandOffset = line.lastIndexOf('COMMAND'); return; } diff --git a/src/ui/processTree/posixProcessTree.ts b/src/ui/processTree/posixProcessTree.ts index ba536d851..99a4d401c 100644 --- a/src/ui/processTree/posixProcessTree.ts +++ b/src/ui/processTree/posixProcessTree.ts @@ -24,12 +24,11 @@ export class PosixProcessTree extends DarwinProcessTree { return; } - let pos = process.args.indexOf(process.command); - if (pos === -1) { - return process; - } - - pos = pos + process.command.length; + // comm is the name of the main thread, which is not always the binary: + // Node 24 renames it to "MainThread", and a title with spaces (pm2 sets + // "node