我有一个名为start.sh的脚本:
#!/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,它将杀死三个应用程序进程,然后关闭它们运行时所在的三个选项卡。因此,脚本中的前三个命令可能是:
pkill -9 application1
pkill -9 application2
pkill -9 application3但是,我如何关闭之前在另一个脚本中打开的gnome终端选项卡呢?
发布于 2021-01-30 06:39:40
每个应用程序都有一个bash作为父进程,所以您也应该杀死父进程。
您可以使用ps命令找到父对象:
APP1PID=`pgrep application1`
APP1PPID=`ps j $APP1PID | awk 'NR>1 {print $1}'`
kill -9 $APP1PPID杀死父进程就足够了,它也会杀死所有子进程。
https://stackoverflow.com/questions/65962359
复制相似问题