В моей среде разработки я использую сценарий для запуска, среди прочего, команды для запуска вкладка терминала, которая запускает команду с псевдонимом:
gnome-terminal --tab-with-profile="custom" --title="imageproc" -- bash -ic "imgp ss"
Я хотел бы иметь возможность настроить таргетинг и закрыть вкладку, если я переключусь на другой проект, но у меня ничего не получается после поиска в Google и просмотра нескольких страниц руководства.
Не совсем то, что я искал, но нашел обходной путь для достижения того, что мне нужно, в случае, если это поможет кому-то еще:
Вкладка терминала в моем случае - это сервер узла, который выводит журнал во время работы, поэтому она остается открытой, пока процесс живет. По крайней мере, в Ubuntu, вы можете настроить окно на самостоятельное закрытие на основе предпочтений профиля терминала:
Это означает, что я могу просто убить процесс, и вкладка закроется. Для этого я добавил команду, которую добавляю в скрипты, используемые при переключении проектов:
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
}