📌  相关文章
📜  pm2 在同一控制台上登录 - Javascript (1)

📅  最后修改于: 2023-12-03 15:33:43.555000             🧑  作者: Mango

在同一控制台上登录 PM2

在使用 PM2 管理 Node.js 进程时,我们可能需要同时在多个终端窗口上查看进程状态或者日志。通常我们可以在不同的终端窗口上运行 PM2 命令,但是这种方式不够方便,而且可能会导致多个进程运行在同一个服务器上。

这里介绍一种在同一控制台上登录 PM2 的方法,让我们可以方便地查看和管理 Node.js 进程。

方案

我们可以使用 tmux 工具来创建一个分离式的多窗口终端,然后在这个终端上同时运行 PM2 命令。

tmux 是一个类似于 GNU Screen 的终端复用工具,可以将一个物理终端分成多个虚拟终端,每个虚拟终端可以独立地运行命令,而且支持将不同虚拟终端的输出进行分割、滚动、移动等操作。

使用 tmux,我们可以创建一个新的 tmux 会话,在该会话中启动多个窗口,每个窗口都可以运行 PM2 命令。这样我们就可以在同一控制台中同时查看多个进程的状态或日志,而且还可以轻松地进行窗口的切换和操作。

步骤

以下是在同一控制台上登录 PM2 的详细步骤:

  1. 安装 tmux

    # Debian/Ubuntu 系统
    apt-get install tmux
    
    # CentOS/RHEL 系统
    yum install tmux
    
    # MacOS
    brew install tmux
    
  2. 创建一个新的 tmux 会话

    tmux new -s mySession
    

    这会创建一个名为 mySession 的新会话,并且会立即进入该会话。

  3. 在会话中创建多个窗口

    # 创建一个名为 window-1 的新窗口,并运行 PM2 进程列表
    tmux new-window -n window-1 "pm2 ls"
    
    # 创建一个名为 window-2 的新窗口,并运行 PM2 日志
    tmux new-window -n window-2 "pm2 logs"
    

    可以根据需求创建多个窗口,每个窗口可以运行不同的 PM2 命令,比如进程列表、日志查看、监控等。

  4. 使用快捷键切换窗口

    在 tmux 中,可以使用快捷键来切换窗口,比如:

    • 切换到下一个窗口:Ctrl+b n
    • 切换到上一个窗口:Ctrl+b p
    • 切换到指定编号的窗口:Ctrl+b n (或 p) 后,按窗口编号键,比如 1、2、3 等。

    更多快捷键可以使用 man tmux 命令或查看 tmux cheat sheet

  5. 关闭 tmux 会话

    在 tmux 中退出所有窗口后,可以使用 Ctrl+b d 快捷键来分离当前会话,这样会话仍然在后台运行,但是窗口会关闭,可以随时重新进入会话。

    如果需要彻底关闭会话,可以在会话外运行以下命令:

    tmux kill-session -t mySession
    

    其中 mySession 是会话名称。

结论

使用 tmux,我们可以方便地在同一控制台上登录 PM2,同时查看和管理多个 Node.js 进程,这样可以提高效率,减少因打开多个窗口导致的混乱和错误。