首页 > 解决方案 > 如何在创建 gnome-terminal 命令的脚本中获取终端的 PID,但保持终端处于活动状态以供以后使用

问题描述

这是我的命令

gnome-terminal --working-directory ~ -- bash -c " echo 'Execution started' && ./test && echo 'Execution finished' ; /bin/bash"&

#!/bin/bash
echo "PPID ="
echo $PPID

我在命令末尾使用/bin/bash创建新终端并保持打开以供以后使用,但我需要存储运行我的脚本而不是关闭它的终端的 PID,gnome-terminal 命令总是关闭执行我的./test脚本的终端

标签: bash

解决方案


我了解,您想要启动新终端的终端的 PID。

所以:

gnome-terminal --working-directory ~ -- bash -c "FATHER_TERM_PROC=$PPID /bin/bash" &

在新终端中:

$ echo PID=$$, PPID=$PPID, FATHER_TERM_PROC=$FATHER_TERM_PROC
PID=5166, PPID=5159, FATHER_TERM_PROC=4417

$ ps -o pid,ppid,args -p $$ -p $PPID $FATHER_TERM_PROC
    PID    PPID COMMAND
   4417    2043 /usr/bin/xfce4-terminal --geometry=125x40
   5159    1600 /usr/libexec/gnome-terminal-server
   5166    5159 /bin/bash

现在,你知道,我的第一个终端是 XFCE 终端!

这是你想要的吗?


推荐阅读