HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-172-31-4-197 6.8.0-1036-aws #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/lib/node_modules/pm2/lib/VersionCheck.js
var vCheck = require('@pm2/pm2-version-check')
var semver = require('semver')
var fs     = require('fs')
var os     = require('os')

function hasDockerEnv() {
	try {
		fs.statSync('/.dockerenv');
		return true;
	} catch (_) {
		return false;
	}
}

function hasDockerCGroup() {
	try {
		return fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
	} catch (_) {
		return false;
	}
}

module.exports = function (opts) {
  var params = {
    state: opts.state,
    version: opts.version
  }

  try {
    params.os = os.type()
    params.uptime = Math.floor(process.uptime())
    params.nodev = process.versions.node
    params.docker = hasDockerEnv() || hasDockerCGroup()
  } catch(e) {
  }

  vCheck.runCheck(params, (err, pkg) => {
    if (err) return false
    if (!pkg.current_version) return false
    if (opts.version && semver.lt(opts.version, pkg.current_version)) {
      console.log('[PM2] This PM2 is not UP TO DATE')
      console.log('[PM2] Upgrade to version %s', pkg.current_version)
    }
  })
}