首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何在bash中创建一个"stop“脚本来关闭我之前用不同的bash脚本打开的gnome终端选项卡?

我如何在bash中创建一个"stop“脚本来关闭我之前用不同的bash脚本打开的gnome终端选项卡?
EN

Stack Overflow用户
提问于 2021-01-30 06:07:48
回答 1查看 76关注 0票数 0

我有一个名为start.sh的脚本:

代码语言:javascript
复制
#!/bin/bash

gnome-terminal --tab -- bash -c "./application1; bash"
gnome-terminal --tab -- bash -c "./application2; bash"
gnome-terminal --tab -- bash -c "./application3; bash"

此脚本在当前终端窗口中打开三个新选项卡,并在每个选项卡中运行唯一的应用程序。

现在我想编写stop.sh,它将杀死三个应用程序进程,然后关闭它们运行时所在的三个选项卡。因此,脚本中的前三个命令可能是:

代码语言:javascript
复制
pkill -9 application1
pkill -9 application2
pkill -9 application3

但是,我如何关闭之前在另一个脚本中打开的gnome终端选项卡呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-30 06:39:40

每个应用程序都有一个bash作为父进程,所以您也应该杀死父进程。

您可以使用ps命令找到父对象:

代码语言:javascript
复制
APP1PID=`pgrep application1`
APP1PPID=`ps j $APP1PID | awk 'NR>1 {print $1}'`
kill -9 $APP1PPID

杀死父进程就足够了,它也会杀死所有子进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65962359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档