pubo-node 1.0.165 → 1.0.166

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  export declare function getProcessName(pid: any): Promise<string>;
2
+ export declare function getPidByPort(port: any): Promise<unknown>;
2
3
  export declare function getProcessCpuUseByPid(pid: number): Promise<number>;
3
4
  export declare function getProcessCommandByPid(pid: number): Promise<string>;
4
5
  export declare function isProcessDied(pid: any): Promise<boolean>;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAudioCards = exports.heartbeat = exports.getProcessTree = void 0;
4
4
  exports.getProcessName = getProcessName;
5
+ exports.getPidByPort = getPidByPort;
5
6
  exports.getProcessCpuUseByPid = getProcessCpuUseByPid;
6
7
  exports.getProcessCommandByPid = getProcessCommandByPid;
7
8
  exports.isProcessDied = isProcessDied;
@@ -22,6 +23,44 @@ function getProcessName(pid) {
22
23
  });
23
24
  });
24
25
  }
26
+ // 根据端口号获取进程名称
27
+ async function getPidByPort(port) {
28
+ if (!port) {
29
+ return '';
30
+ }
31
+ if (process.platform === 'win32') {
32
+ return new Promise((resolve, reject) => {
33
+ (0, child_process_1.exec)(`netstat -ano | findstr "${port}"`, (error, stdout, stderr) => {
34
+ if (error) {
35
+ reject(error);
36
+ return;
37
+ }
38
+ const arr = stdout.split('\n');
39
+ if (!arr[0]) {
40
+ resolve('');
41
+ return;
42
+ }
43
+ const tmp = arr[0].split(' ');
44
+ const res = tmp.pop();
45
+ resolve(res);
46
+ });
47
+ });
48
+ }
49
+ return new Promise((resolve, reject) => {
50
+ (0, child_process_1.exec)(`lsof -i:${port} | awk '{print $2}'`, (err, stdout) => {
51
+ if (err) {
52
+ reject(err);
53
+ }
54
+ else {
55
+ let res = stdout.split('\n')[1];
56
+ if (res) {
57
+ res = res.trim();
58
+ }
59
+ resolve(res);
60
+ }
61
+ });
62
+ });
63
+ }
25
64
  // 获取进程 cpu 使用率
26
65
  function getProcessCpuUseByPid(pid) {
27
66
  return new Promise((resolve) => {
package/lib/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { JsonStorage } from './storage/json';
2
2
  export { FtpClient, FtpClientPool } from './ftp-client';
3
3
  export type { FtpConnectOptions, FtpFile } from './ftp-client';
4
4
  export { createRpcClient, GrpcList } from './grpc';
5
- export { SIGKILL, isProcessDied, getProcessName, getProcessTree, getProcessByPpid, getProcessCpuUseByPid, getProcessCommandByPid, heartbeat, } from './child-process';
5
+ export { SIGKILL, isProcessDied, getProcessName, getProcessTree, getProcessByPpid, getProcessCpuUseByPid, getProcessCommandByPid, getPidByPort, heartbeat, } from './child-process';
6
6
  export { isPortAvailable } from './utils';
7
7
  export { getWifiName, getNetworks } from './utils/network';
8
8
  export { RosTopicManager, RosTopic } from './ros/topic';
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PuboFileSystem = exports.RosTopic = exports.RosTopicManager = exports.getNetworks = exports.getWifiName = exports.isPortAvailable = exports.heartbeat = exports.getProcessCommandByPid = exports.getProcessCpuUseByPid = exports.getProcessByPpid = exports.getProcessTree = exports.getProcessName = exports.isProcessDied = exports.SIGKILL = exports.GrpcList = exports.createRpcClient = exports.FtpClientPool = exports.FtpClient = exports.JsonStorage = void 0;
3
+ exports.PuboFileSystem = exports.RosTopic = exports.RosTopicManager = exports.getNetworks = exports.getWifiName = exports.isPortAvailable = exports.heartbeat = exports.getPidByPort = exports.getProcessCommandByPid = exports.getProcessCpuUseByPid = exports.getProcessByPpid = exports.getProcessTree = exports.getProcessName = exports.isProcessDied = exports.SIGKILL = exports.GrpcList = exports.createRpcClient = exports.FtpClientPool = exports.FtpClient = exports.JsonStorage = void 0;
4
4
  var json_1 = require("./storage/json");
5
5
  Object.defineProperty(exports, "JsonStorage", { enumerable: true, get: function () { return json_1.JsonStorage; } });
6
6
  var ftp_client_1 = require("./ftp-client");
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "getProcessTree", { enumerable: true, get: functi
17
17
  Object.defineProperty(exports, "getProcessByPpid", { enumerable: true, get: function () { return child_process_1.getProcessByPpid; } });
18
18
  Object.defineProperty(exports, "getProcessCpuUseByPid", { enumerable: true, get: function () { return child_process_1.getProcessCpuUseByPid; } });
19
19
  Object.defineProperty(exports, "getProcessCommandByPid", { enumerable: true, get: function () { return child_process_1.getProcessCommandByPid; } });
20
+ Object.defineProperty(exports, "getPidByPort", { enumerable: true, get: function () { return child_process_1.getPidByPort; } });
20
21
  Object.defineProperty(exports, "heartbeat", { enumerable: true, get: function () { return child_process_1.heartbeat; } });
21
22
  var utils_1 = require("./utils");
22
23
  Object.defineProperty(exports, "isPortAvailable", { enumerable: true, get: function () { return utils_1.isPortAvailable; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pubo-node",
3
- "version": "1.0.165",
3
+ "version": "1.0.166",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "sideEffects": false,
@@ -21,7 +21,7 @@
21
21
  "pubo-utils": "^1.0.164",
22
22
  "yaml": "^2.5.1"
23
23
  },
24
- "gitHead": "93126c2ba44c242e56b04d34871da52a763293cc",
24
+ "gitHead": "44bdcaeb2ec41a7a07a929a74082d8aa2cf53ad1",
25
25
  "devDependencies": {
26
26
  "del": "^5.1.0",
27
27
  "eslint": "^8.42.0",