LINUX.ORG.RU

Как реализовать получение информации от программ

 , ,


0

2

Чтобы понятнее представлять, что я имею ввиду, приведу пример. Медиаплеер воспроизводит по очереди файлы из папки. Требуется получить информацию о текущем воспроизводимом файле. Да, можно просто посмотреть в заголовок или в терминал, но, допустим, мне нужна информация в текстовом виде, чтобы ее анализировать и применять в дальнешем. Мне представляются такие варианты:

  • реализовать простой цикл, который будет парсить вывод (не оптимально с т.з. ресурсов, если цикл быстро обновляется и таких циклов несколько, а если медленно, то информация может оказаться не актуальной),
  • реализовать через внесение правок в исходник (не всегда возможно из-за незнания яп),
  • использовать систему сигналов, как это реализовано в i3blocks (как там реализовано я на самом деле не знаю, просто в кач-ве примера),
  • использовать некий хук, который будет посылать необходимую информацию и который можно будет применять к разным программам.

Если то, что в п.4 и п.5 уже где-то реализовано и может быть применено без лишнего красноглазия, дайте знать. Если нет, то интересуюсь, что из этого проще реализовать (п.1 не в счет) если не знаешь япов, на которых написаны приложения, от которых требуется подобная информация.

Пока читал, что написал, вспомнил про trap. Может оно и подойдет.

Надеюсь ты понимаешь, что в таком виде на вопрос нельзя ответить однозначно?
Т.е. для _некой_задачи_, получить _некую_информацию_.
Более того, для разных задач, ответ будет разным.
Например могу ответить 42, что будет верным ответом для определённой задачи.

uCore ()
Ответ на: комментарий от uCore

Надеюсь ты понимаешь, что в таком виде на вопрос нельзя ответить однозначно?

В таком виде на вопрос вообще нельзя ответить.

Т.е. для _некой_задачи_, получить _некую_информацию_.

Куда важнее, что получить ее надо у _некой_ программы.

Скажем, как получить любую информацию для любой задачи у ГНУ Емакса, ответить вполне было бы можно.

Zmicier ★★★★★ ()
Ответ на: комментарий от Zmicier

В таком виде на вопрос вообще нельзя ответить.

Почему-же, можно. Так-же как и задан вопрос. Т.е. на вопрос как, можно ответить: как-то.
Является ли это:

  • ответом — да
  • однозначным — нет
  • имеющим смысл(так-же как и вопрос) — нет.
uCore ()