bash - 如何在创建 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
脚本的终端
解决方案
我了解,您想要启动新终端的终端的 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 终端!
这是你想要的吗?
推荐阅读
- excel - VBA需要添加一列来计算序列中的出现次数并在出现给定值时重置
- forms - 未处理的异常:NoSuchMethodError:在 null 上调用了方法“验证”。(FormBuilder 包)
- javascript - 画布不会出现,但会自行出现
- angular - Angular - @angular\cdk\coercion\array.d.ts(10,60): 错误 TS1005: Build:',' 预期
- r - 选择最大化相关性的样本
- amazon-vpc - 新 VPC 未显示在新 DocumentDB 集群的选择列表中
- php - 我可以将 Xdebug 存储在单独的 docker 容器中吗?
- javascript - 添加数字并得到错误的输出
- python - 任务调度程序不使用 powershell 脚本生成输出
- metpy - 横截面分析问题