如何获取tmux窗格中运行的Python进程PID?
获取tmux窗格内Python进程PID的方法
因为tmux返回的#{pane_pid}是窗格中shell(比如bash)的PID,而Python进程是该shell的子进程,所以可以通过父PID关联查询来获取目标进程PID,以下是几种实用方法:
用
pgrep直接筛选父进程下的Python子进程:# 获取所有窗格中shell的子Python进程PID pgrep -P $(tmux list-panes -F '#{pane_pid}') python # 仅获取当前活跃窗格的Python进程PID pgrep -P $(tmux display-message -p '#{pane_pid}') python其中
-P参数指定父进程PID,直接过滤出该父进程下的Python子进程。用
pstree可视化进程树并提取PID:# 列出指定窗格shell的进程树,提取Python进程PID pstree -p $(tmux list-panes -F '#{pane_pid}') | grep -o 'python[^)]*([0-9]*)' | grep -o '[0-9]*'pstree -p会显示带PID的进程树,再通过grep提取出Python进程的PID部分。若存在多个Python进程,可结合
ps命令进一步筛选:# 查看父进程下的所有子进程详情,确认目标Python进程 ps --ppid $(tmux list-panes -F '#{pane_pid}') -f通过
--ppid指定父PID,查看子进程的命令行参数,精准定位需要终止的进程。
获取到Python进程PID后,直接用kill <PID>即可终止进程,若僵尸进程无法正常终止,可尝试kill -9 <PID>强制终止。
内容的提问来源于stack exchange,提问作者Jojo Zhai
相关产品推荐
相关产品推荐

