如何在 Node.js 中查詢進程 PID

PHPz
發布: 2023-04-26 10:00:41
原創
1655 人瀏覽過

Node.js 是一個基於 Chrome V8 引擎的開源 JavaScript 運行環境,可在伺服器端執行 JavaScript。它採用事件驅動、非阻塞I/O 模型,使它非常適合輕量、高效、即時資料互動的應用程式。

在開發 Node.js 應用程式時,有時我們需要查詢目前進程的 PID,即進程 ID。 PID 是一個數值類型,用於在系統中唯一標識某個進程。通常情況下,我們可以透過 shell 命令或系統 API 來查詢進程的 PID。本文將介紹在 Node.js 中查詢進程 PID 的方法。

透過 process 物件查詢 PID

在 Node.js 中,可以使用 process 物件來取得目前進程的信息,其中包括進程的 PID。 process 物件是 Node.js 的全域物件之一,我們可以隨時存取它。以下是取得目前進程 PID 的範例程式碼:

console.log('当前进程的 PID 是:', process.pid);
登入後複製

以上程式碼將輸出目前 Node.js 進程的 PID。

透過進程名稱查詢 PID

除了查詢目前進程的 PID,有時我們還需要查詢特定進程的 PID。這時可以透過進程名稱來查詢 PID。在 Linux/macOS 中,可以使用 shell 指令 ps 來查詢進程資訊。在 Windows 中,可以使用 tasklist 指令查詢進程資訊。以下是取得指定進程PID 的範例程式碼:

Linux/macOS

const { exec } = require('child_process');

exec('pgrep node', (err, stdout, stderr) => {
  if (!err && stdout) {
    console.log('当前 Node.js 进程的 PID 是:', stdout.trim());
  }
});
登入後複製

以上程式碼將透過shell 命令pgrep node 查詢目前正在執行的Node.js 進程的PID,並輸出結果。

Windows

const { exec } = require('child_process');

exec('tasklist /FI "IMAGENAME eq node.exe" /NH', (err, stdout, stderr) => {
  if (!err && stdout) {
    const pids = stdout.trim().split('\n').map(line => {
      const columns = line.trim().split(/\s+/);
      return parseInt(columns[1]);
    }).filter(pid => !isNaN(pid));
    console.log('当前 Node.js 进程的 PID 是:', pids[0]);
  }
});
登入後複製

以上程式碼將透過shell 指令tasklist /FI "IMAGENAME eq node.exe" /NH 查詢目前正在執行的Node.js 進程的PID,並輸出結果。

總結

本文介紹了 Node.js 查詢進程 PID 的兩種方法:透過 process 物件查詢目前進程 PID,和透過進程名稱查詢指定進程 PID。對於需要管理進程的 Node.js 應用程序,這兩種方法都是非常實用的。

以上是如何在 Node.js 中查詢進程 PID的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!