我正在为我的项目学习bash脚本和python,我想在执行完成后杀死终端。我在一个终端上运行我的进程,当我执行它时,它会打开一个新终端并执行请求的操作,然后在完成后必须关闭新终端,这是没有发生的。我的代码是:import os os.system(""xfce4-terminal -e 'bash -c \"./testing.sh; exec bash\"'") 当我运行它时,它将打开新的终端并在其中执行,执行后,“ pwd”为ubuntu:-/home/new$无法将任何命令发送到那里。完成后,我想终止该终端,因为对于下一次执行,我想打开新的终端。我试过了它很好,但不知道如何在python脚本中添加:a=`tty` echo $a b=`tty | sed 's/\/dev//'` echo $b c=`ps aux | grep $a | grep 'bash$' | awk '{print $2}'` echo $c d= `$c | awk '{print $1}' kill -9 $d 寻找建议,请指导我获得解决方案。提前致谢。
3 回答

慕桂英4014372
TA贡献1871条经验 获得超13个赞
终端在其最后一个子进程退出时关闭。这将满足我的要求:
os.system("xfce4-terminal -e 'bash -c \"echo hello ; /bin/bash ; exit 0\"'")
我测试了
添加以回应评论
Ubuntu中有一个shell脚本,/usr/bin/usb-devices
该脚本会打印到stdout,然后退出。如果我运行Python
os.system("xfce4-terminal -e /usr/bin/usb-devices")
然后出现一个终端,显示脚本的输出,然后终端退出。确实没有比这更简单的了。
添加回答
举报
0/150
提交
取消