LINUX.ORG.RU

Ответ на: комментарий от anonymous

Потому, что другая программа читает файл (которого фактически нет), а не скрипт. Содержимое файла динамическое.

pS
() автор топика
Последнее исправление: pS (всего исправлений: 1)

я дал правильный ответ два раза, который полностью удовлетворял условиям твоего вопроса.

ЧЯДНТ?

Spoofing ★★★★★
()
ScriptFS is a new file system which merely replicates a local file system, but replaces all files detected as «scripts» by the result of their execution.

Но это через FUSE.

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

Всё правильно, спасибо за ответ, но это не мой случай. Поясню: некая программа читает из псевдосистемы /proc/... Этот интерфейс сейчас не поддерживается в ядре, перенесено в /sys. Но программа имярек не знает про /sys, да и формат данных другой, так что ссылка не прокатит. Я не стал пояснять конкретику в стартовом посте, так как этот вопрос интересует меня в общем плане. Решением может быть создание трубы и привязки к событию чтения из этой трубы выполнение скрипта. Но я не знаю, как это сделать.

pS
() автор топика
Ответ на: комментарий от xaizek

Спасибо, буду смотреть.

Но это через FUSE.

Не суть.

pS
() автор топика
Ответ на: комментарий от zolden

Точно то самое, спасибо. Отмечаю решённым.

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

Всё правильно, спасибо за ответ, но это не мой случай. Поясню: некая программа читает из псевдосистемы /proc/... Этот интерфейс сейчас не поддерживается в ядре, перенесено в /sys. Но программа имярек не знает про /sys, да и формат данных другой, так что ссылка не прокатит. Я не стал пояснять конкретику в стартовом посте, так как этот вопрос интересует меня в общем плане. Решением может быть создание трубы и привязки к событию чтения из этой трубы выполнение скрипта. Но я не знаю, как это сделать.

А в чём сложность просто сделать программу которая будет читать из одного файла и писать в другой?

rezedent12 ☆☆☆
()
Ответ на: комментарий от anonymous

Да, проверил уже. Пишу простенький модуль. Болванок в сети полно.

pS
() автор топика
Ответ на: комментарий от Eddy_Em

Для сегодняшней конкретной задачи нужен модуль, т.к. /proc. FUSE для других случаев, см. выше.

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

Я бы поступил проще. Измерил бы минимальный промежуток который не нагружает центральный процессор. И проверял бы eof в цикле.

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

ФС — /proc, так что так просто не выйдет.

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

некая программа читает из псевдосистемы /proc/... Этот интерфейс сейчас не поддерживается в ядре, перенесено в /sys. Но программа имярек не знает про /sys, да и формат данных другой, так что ссылка не прокатит.

Запускать программу имярек в chroot'e где /proc будет обычной ФС, на эту /chroot/proc директорию натравить icnron

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

Уже говорили, что:

  • в /proc нельзя просто так даже ссылку записать;
  • в /proc inotify не работает.
pS
() автор топика
Ответ на: комментарий от anonymous

Я понимаютак, что тогда часть (или всё) структуры /proc надо будет вручную воссоздавать.

pS
() автор топика
Ответ на: комментарий от Csandriel

Да, уже было такое предложение.

pS
() автор топика
Ответ на: комментарий от Csandriel

Вариации на тему выше.

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

Я понимаютак, что тогда часть (или всё) структуры /proc надо будет вручную воссоздавать.

Думаешь из тебя будут клещами информацию вытаскивать?

Если ты по ходу пьесы будешь новые условия выставлять, то скоро пойдешь на три буквы, типа ПНХ, например.

anonymous
()

Случайно сбросил пометку «решено», думаю: почему народ всё пишет и пишет? По теме: решений предложено фактически 3 — inotify (incron), scriptfs и модуль ядра (для procfs). Опробовал inotify и модуль. Ещё раз благодарю всех ответивших. Тема закрыта.

pS
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.