Node.js 获取节点(cli-)应用程序的唯一可重用标识符同一用户在不同终端窗口中并行运行的是什么?

Node.js 获取节点(cli-)应用程序的唯一可重用标识符同一用户在不同终端窗口中并行运行的是什么?,node.js,process,terminal,pid,tty,Node.js,Process,Terminal,Pid,Tty,我希望获得CLI运行的节点应用程序所在的终端窗口的唯一可重用标识符。我想知道这一点的原因是同一用户在多个终端中同时使用该应用程序 有必要获取每个终端的选定数据,并了解CLI应用程序运行在不同的终端窗口上选择了什么 保存此信息的最佳方法是在一个隐藏的日志文件中,该文件基本上由唯一的终端标识符命名 [x] 在process.platform上工作===“win32”每个cmd.exe都有自己的PID []在process.platform==='darwin'Mac OS X上工作PPID在所有终端

我希望获得CLI运行的节点应用程序所在的终端窗口的唯一可重用标识符。我想知道这一点的原因是同一用户在多个终端中同时使用该应用程序

有必要获取每个终端的选定数据,并了解CLI应用程序运行在不同的终端窗口上选择了什么

保存此信息的最佳方法是在一个隐藏的日志文件中,该文件基本上由唯一的终端标识符命名

[x] 在process.platform上工作===“win32”每个cmd.exe都有自己的PID

[]在process.platform==='darwin'Mac OS X上工作PPID在所有终端窗口上都是相同的

[]在process.platform上工作==='freebsd'| | | | linux'| | | | sunos'我认为这也是同样的问题,具体取决于您正在运行的GUI

在终端上执行tty会给我提供不同的标识符,如/dev/ttys003,这将非常有用

但是,试图从应用程序中获取这些信息是不可能的,因为在一个child_进程中执行这些信息最终会导致一个非tty

应用程序本身的PID在每次执行时都会发生变化。在这种情况下,这是没有帮助的。父PID相同,但也在不同的终端中

设置环境不会绑定到终端,而只绑定到应用程序运行时

有什么办法可以做到这一点吗?

我自己想到了:

是基于posix的系统的解决方案

页面上的示例有一个误导性错误-请使用此示例完成:

// A clone of the `tty` command
var spotty = require('spotty');
var tty = spotty.tty(function(err, res) {
    if (err) {
        console.error("Error found: " + err.toString())
    } else {
        return res;
    }
})
希望这对别人有帮助