Можно ли закрыть вкладку терминала из командной строки, указав ее заголовок?

В моей среде разработки я использую сценарий для запуска, среди прочего, команды для запуска вкладка терминала, которая запускает команду с псевдонимом:

gnome-terminal --tab-with-profile="custom" --title="imageproc" -- bash -ic "imgp ss"

Я хотел бы иметь возможность настроить таргетинг и закрыть вкладку, если я переключусь на другой проект, но у меня ничего не получается после поиска в Google и просмотра нескольких страниц руководства.

3
задан 11 August 2021 в 20:24

1 ответ

Не совсем то, что я искал, но нашел обходной путь для достижения того, что мне нужно, в случае, если это поможет кому-то еще:

Вкладка терминала в моем случае - это сервер узла, который выводит журнал во время работы, поэтому она остается открытой, пока процесс живет. По крайней мере, в Ubuntu, вы можете настроить окно на самостоятельное закрытие на основе предпочтений профиля терминала:

preferences window screenshot

Это означает, что я могу просто убить процесс, и вкладка закроется. Для этого я добавил команду, которую добавляю в скрипты, используемые при переключении проектов:

ps -aux | grep "commandnamehere" | grep -v "grep" | awk '{print $2}' | xargs kill

Также можно убить процесс, занимающий определенный порт, что также сработало в моем случае:

kill $(lsof -t -i:7777)

Edit:

В случае, если вы хотите просто засунуть процесс kill перед некоторыми другими скриптами, как это сделал я, вам также может понадобиться функция, которая проверяет, есть ли процесс, который нужно убить:

killpid() {
     PID=`ps -aux | grep "commandnamehere" | grep -v "grep" | awk '{print $2}'`;
     if [ ! -z "$PID" ]
     then
         echo "killing commandnamehere - $PID";
         echo $PID | xargs kill;
     fi
 }
1
ответ дан 20 August 2021 в 10:27

Другие вопросы по тегам:

Похожие вопросы: