Рейтинг:3

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

флаг jp

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

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

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

Рейтинг:1
флаг jp

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

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

скриншот окна настроек

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

пс-доп | grep "имя_команды" | grep -v "grep" | awk '{напечатать $2}' | xargs убить

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

убить $(lsof -t -i:7777)

Редактировать:

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

killpid () {
     PID=`ps -доп | grep "имя_команды" | grep -v "grep" | awk '{напечатать $2}'`;
     если [ ! -z "$PID" ]
     тогда
         echo "Здесь имя команды уничтожения - $PID";
         эхо $PID | ксарги убивают;
     фи
 }
флаг hr
Вероятно, вы можете упростить `ps | ... | конвейер kill` до чего-то вроде `pkill "commandnamehere"` или `pkill -f "commandnamehere"`
флаг jp
@steeldriver Я начал с этого, но в моем конкретном случае команда представляет собой другой скрипт bash, поэтому было проще найти уникальный идентификатор, чтобы получить процесс.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.