#linux #bash #terminal #pid
#линукс #удар #терминал #pid
Вопрос:
Вопрос связан с системой Linux Mint 64, 20.x с рабочим столом Cinnamon
Запустив следующий пример кода на терминале, выполните следующие действия:
- выведите pid 1-й вкладки терминала на 1-ю вкладку терминала
- создайте 2-ю вкладку терминала
- выведите одну вещь на 2-ю вкладку терминала
Пример кода:
echo "pid von TAB1: $"; gnome-terminal --title="Titel of 2nd TAB" --tab --active -- bash -c "sensors; read exec bash"
Вкладки терминала стенда имеют собственный pid. Это можно увидеть по:
ps ax | grep bash
Вкладки терминала стенда могут быть закрыты для целей тестирования его собственным pid с помощью:
kill 123456
Как получить и вывести pid 2-й вкладки терминала на 1-й вкладке терминала ?
Комментарии:
1.
pgrep
может помочь, но у вас всегда есть возможность найти другой терминал, чем тот, который вы ищете…2. @Fravadona, правильно, pgrep bash выведет список теминальных pid. Таким образом, можно получить список до и после открытия новой вкладки терминала. A на этом пути нет 100% уверенности в том, что вы получите правильный pid. Это может быть возможно за $$ или $! ?
3. Вы можете использовать
pgrep -P
, чтобы узнать дочерний процесс управляющего процесса, которому может принадлежать терминал, но узнать, какой процесс на вкладке является одним из многих, будет сложно. Этот процесс управления может быть демоном, одноэлементной службой или просто родительским.4. @konsolebox, это звучит интересно. A pgrep -P $$ на первой вкладке терминала, не указывайте мне pid 2-й вкладки терминала или еще один pid.
5. $ $ — это PID оболочки, а не процесс управления. Посмотрите на вывод pstree. Может быть, вы найдете в нем подсказки. Опять же, процесс управления является только теоретическим.
Ответ №1:
Частичное решение, которое делает следующее:
- Вывод на первой вкладке терминала, все pid, связанные с bash, перед открытием 2-й вкладки терминала
- Вывод значения true
pid
с вкладки первый терминал на вкладке первый терминал - Вывод значения true
pid
со второй вкладки терминала на второй вкладке терминала - Вывод на первой вкладке терминала, все pid, связанные с bash, после открытия 2-й вкладки терминала
prep bash; echo "pid von TAB1: $"; gnome-terminal --title="Titel of 2nd TAB" --tab --active -- bash -c 'echo $ amp; sensors; read exec bash'; pgrep bash
Следующее не решается этим частичным решением:
- Не удается вывести вкладку
pid
второго терминала на вкладке первого терминала.
Ответ №2:
Частичное решение, которое делает следующее:
- выведите на первой вкладке bash список pid, связанных с bash, перед открытием 2-й вкладки bash
- выведите на первой вкладке bash список pid, связанных с bash, после открытия 2-й вкладки bash
эхо-список вкладок bash перед открытием 2-й вкладки; pgrep bash; gnome-терминал-заголовок=»Название 2-й ВКЛАДКИ» -вкладка-активна — bash -c «датчики; прочитайте exec bash»; эхо-список вкладок bash, включая. 2-я вкладка bash; pgrep bash
Следующие проблемы не решаются этим частичным решением:
- как получить в качестве вывода пид, который находится на 2-м пид-выходе, а не на первом пид-выходе