📅  最后修改于: 2023-12-03 15:33:43.555000             🧑  作者: Mango
在使用 PM2 管理 Node.js 进程时,我们可能需要同时在多个终端窗口上查看进程状态或者日志。通常我们可以在不同的终端窗口上运行 PM2 命令,但是这种方式不够方便,而且可能会导致多个进程运行在同一个服务器上。
这里介绍一种在同一控制台上登录 PM2 的方法,让我们可以方便地查看和管理 Node.js 进程。
我们可以使用 tmux 工具来创建一个分离式的多窗口终端,然后在这个终端上同时运行 PM2 命令。
tmux 是一个类似于 GNU Screen 的终端复用工具,可以将一个物理终端分成多个虚拟终端,每个虚拟终端可以独立地运行命令,而且支持将不同虚拟终端的输出进行分割、滚动、移动等操作。
使用 tmux,我们可以创建一个新的 tmux 会话,在该会话中启动多个窗口,每个窗口都可以运行 PM2 命令。这样我们就可以在同一控制台中同时查看多个进程的状态或日志,而且还可以轻松地进行窗口的切换和操作。
以下是在同一控制台上登录 PM2 的详细步骤:
安装 tmux
# Debian/Ubuntu 系统
apt-get install tmux
# CentOS/RHEL 系统
yum install tmux
# MacOS
brew install tmux
创建一个新的 tmux 会话
tmux new -s mySession
这会创建一个名为 mySession 的新会话,并且会立即进入该会话。
在会话中创建多个窗口
# 创建一个名为 window-1 的新窗口,并运行 PM2 进程列表
tmux new-window -n window-1 "pm2 ls"
# 创建一个名为 window-2 的新窗口,并运行 PM2 日志
tmux new-window -n window-2 "pm2 logs"
可以根据需求创建多个窗口,每个窗口可以运行不同的 PM2 命令,比如进程列表、日志查看、监控等。
使用快捷键切换窗口
在 tmux 中,可以使用快捷键来切换窗口,比如:
更多快捷键可以使用 man tmux
命令或查看 tmux cheat sheet。
关闭 tmux 会话
在 tmux 中退出所有窗口后,可以使用 Ctrl+b d 快捷键来分离当前会话,这样会话仍然在后台运行,但是窗口会关闭,可以随时重新进入会话。
如果需要彻底关闭会话,可以在会话外运行以下命令:
tmux kill-session -t mySession
其中 mySession
是会话名称。
使用 tmux,我们可以方便地在同一控制台上登录 PM2,同时查看和管理多个 Node.js 进程,这样可以提高效率,减少因打开多个窗口导致的混乱和错误。