-
Notifications
You must be signed in to change notification settings - Fork 2.6k
/
Copy pathProcessContainerFork.js
42 lines (37 loc) · 1.25 KB
/
ProcessContainerFork.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
* Copyright 2013-2022 the PM2 project authors. All rights reserved.
* Use of this source code is governed by a license that
* can be found in the LICENSE file.
*/
var url = require('url');
// Inject custom modules
var ProcessUtils = require('./ProcessUtils')
ProcessUtils.injectModules()
if (typeof(process.env.source_map_support) != "undefined" &&
process.env.source_map_support !== "false") {
require('source-map-support').install();
}
// Rename the process
process.title = process.env.PROCESS_TITLE || 'node ' + process.env.pm_exec_path;
if (process.connected &&
process.send &&
process.versions &&
process.versions.node)
process.send({
'node_version': process.versions.node
});
// Require the real application
if (process.env.pm_exec_path) {
if (ProcessUtils.isESModule(process.env.pm_exec_path) === true) {
import(url.pathToFileURL(process.env.pm_exec_path));
}
else
require('module')._load(process.env.pm_exec_path, null, true);
}
else
throw new Error('Could not _load() the script');
// Change some values to make node think that the user's application
// was started directly such as `node app.js`
process.mainModule = process.mainModule || {};
process.mainModule.loaded = false;
require.main = process.mainModule;