pubo-node 1.0.164 → 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.
- package/lib/child-process/index.d.ts +1 -0
- package/lib/child-process/index.js +45 -6
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -1
- package/package.json +2 -2
|
@@ -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;
|
|
@@ -17,7 +18,45 @@ function getProcessName(pid) {
|
|
|
17
18
|
reject(err);
|
|
18
19
|
}
|
|
19
20
|
else {
|
|
20
|
-
resolve(data);
|
|
21
|
+
resolve(data.toString().split(':')[1]?.trim());
|
|
22
|
+
}
|
|
23
|
+
});
|
|
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);
|
|
21
60
|
}
|
|
22
61
|
});
|
|
23
62
|
});
|
|
@@ -126,13 +165,13 @@ async function SIGKILL(pid, signal = 2) {
|
|
|
126
165
|
tmp.reverse();
|
|
127
166
|
tree = null;
|
|
128
167
|
let success = true;
|
|
129
|
-
|
|
130
|
-
|
|
168
|
+
for (const item of tmp) {
|
|
169
|
+
try {
|
|
131
170
|
await _SIGKILL(item, signal);
|
|
132
171
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
172
|
+
catch (err) {
|
|
173
|
+
success = false;
|
|
174
|
+
}
|
|
136
175
|
}
|
|
137
176
|
return success;
|
|
138
177
|
}
|
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.
|
|
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": "
|
|
24
|
+
"gitHead": "44bdcaeb2ec41a7a07a929a74082d8aa2cf53ad1",
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"del": "^5.1.0",
|
|
27
27
|
"eslint": "^8.42.0",
|