[英]How do I make a "stop" script in bash that closes gnome-terminal tabs that I had previously opened with a different bash script?
我有一個名為 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"
此腳本在當前終端 window 中打開三個新選項卡,並在每個選項卡中運行一個獨特的應用程序。
現在我想編寫 stop.sh,它將終止三個應用程序進程,然后關閉它們在其中運行的三個選項卡。因此腳本中的前三個命令可能是:
pkill -9 application1
pkill -9 application2
pkill -9 application3
但是我該如何關閉之前在其他腳本中打開的 gnome-terminal 選項卡呢?
每個應用程序都有一個bash
作為父進程,所以你也應該殺死父進程。
您可以使用ps
命令找到父級:
APP1PID=`pgrep application1`
APP1PPID=`ps j $APP1PID | awk 'NR>1 {print $1}'`
kill -9 $APP1PPID
殺死父進程就足夠了,它也會殺死所有的子進程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.