@good_sefore

Как закрыть соседнюю вкладку в терминале?

В Linux-е делаю. Суть вопроса: скрипт на bash должен открыть новую вкладку с задачей и в цикле проверять пока не выполнится одно условие. Как только оно выполняется, то вкладка должна закрыться. Ну или просто выполняемая задача остановиться в этой новой вкладке. Как реальизовать такое подскажите. Самый элементарный пример если можно. Покопался - как открыть и запустить процесс в новой вкладке нашел, но как остановить его потом из основной вклади нет..
  • Вопрос задан
  • 205 просмотров
Пригласить эксперта
Ответы на вопрос 5
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Вы путаете баш и ПО, реализующее функциональность терминала. У баша никаких вкладок нет.
Ответ написан
Комментировать
paran0id
@paran0id Куратор тега Linux
Умный, но ленивый
Остановить процесс можно, послав ему по PID сигнал утилитой kill. PID можно класть в файл (т.н. PID-файл), чтобы другие программы могли его получить. Но к вкладкам это отношения не имеет, как уже сказал ky0.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
В bash вы можете запустить процесс в фоновом режиме и получить его процесс ID через переменную $!
В этой переменной хранится PID последнего дочернего процесса.
Потом можно убить этот процесс при помощи kill
типа так

#!/bin/bash

./other_script.sh &
OTHER_PID=$!
while blablabla; do sleep 1; done
kill $OTHERPID
Ответ написан
@MechanicZelenyy
Ну надеюсь про то что никаких вкладок нет вы уже поняли, а то что вам нужно: запускайте скрипт с помощью команды source если хотите чтобы он выполнился в текущем окружении, или с помощью команды bash чтобы он выполнялся в другом окружении.

Для запуска в фоне ставьте в конце команды &.
Ответ написан
@good_sefore Автор вопроса
ky0, может неправильно описал задачу.. в линукс терминале запускаю скрипт на bash написанный. В нем по сути код который открывает вкладку в этом терминале, запускает код в этой новой вкладке. Первая же вкладка мониторит одно событие с задержкой 1 сек в цикле. Как только событие происходит, то вторую вкладку нужно закрыть. Но какой командой не знаю. Что там дописать? Я так понимаю при открытии второй вкладки нужно получить её id както.. чтоьы потом её можно было закрыть. Но как? Или еще какойто вариант может есть?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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