You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Mint环境下如何在首个终端标签页获取输出第二个标签页PID

Linux Mint 20.x Cinnamon 环境下获取第二个终端标签页PID的方案

核心逻辑

gnome-terminal 启动后会fork出子进程承载终端标签页,自身父进程会立即退出,无法直接通过$!捕获标签页对应的bash PID,因此采用临时文件中转的方案:第二个标签页的bash进程启动后主动写入自身PID到临时文件,第一个标签页读取该文件即可得到目标PID。

完整实现命令

在第一个终端标签页直接执行以下命令即可:

# 输出第一个标签页的PID
echo "pid von TAB1: $$"
# 新建第二个标签页,写入自身PID到临时文件后执行指定命令
gnome-terminal --title="Titel of 2nd TAB" --tab --active -- bash -c 'echo $$ > /tmp/second_tab_pid; sensors; exec bash'
# 等待文件写入完成后读取第二个标签页PID
sleep 1
TAB2_PID=$(cat /tmp/second_tab_pid)
echo "pid von TAB2: ${TAB2_PID}"

验证与测试

  • 核对两个标签页PID是否匹配:执行 ps ax | grep bash 查看当前运行的所有bash进程
  • 测试通过PID关闭指定标签页:执行 kill ${TAB2_PID} 即可直接关闭第二个终端标签页

注意事项

  • 命令中bash -c后必须使用单引号包裹内部命令,否则$$会被第一个标签页的shell提前解析,写入错误的PID
  • 若系统响应较慢出现读取PID为空的情况,可将sleep 1调整为sleep 2延长等待时间
  • 临时文件/tmp/second_tab_pid会被后续执行的命令自动覆盖,且系统重启后/tmp目录会自动清空,无需手动清理

内容的提问来源于stack exchange,提问作者Alfred.37

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:45:04