könyvtárba kerülő összes fájl továbbítása egy program standard inputjára

Fórumok

Sziasztok, adott egy wine-al futtatott windowsos program
linuxon, ami teljesen jól használható - másodpercenként 1-6 alkalommal adatokat ment egy könyvtárba, külön fájlokba.

Szeretném ezeket a fájlokat saját programmal feldolgozni (a win-es program futása közben, tehát folyamatosan születnek az újabb fájlok), de ha lehet, elkerülném hogy mondjuk másodpercenként figyeljem a könyvtár tartalmát, és ha van új fájl, akkor feldolgozzam.

Szeretnék olyan megoldást (ha létezik ilyen) hogy kijelölök egy könyvtárat, és azt mondom hogy minden fájl amit ide írnak, automatikusan továbbítódjon egy program szabványos bemenetére, amint az írásnak vége van és a fájlt lezárták.

Ha egy fájl csak másodpercekig létezik, kikerül az a merevlemezre? Vagy az oprendszer cache-eli, de mivel szinte azonnal törlődik, a lemezen fizikailag nem is jön létre?
Érdemes itt ram diszket használni?

Köszönöm, dio

Hozzászólások

Sziasztok, a következő megoldás született:
a programból dll fájlokat is lehet használni. C-ben írtam egy dll-t, kipróbáltam, működik - vagy paraméteres programindítással, vagy hálózaton keresztül localhost-ra csatlakozással fogok kommunikálni a linuxos programmal a windowsosból.

érdekesség: wine-al fut a devcpp, úgyhogy Linux alól wine-ból futtatott programhoz Linux alól fordítok windowsos dll-t!

azért ha van megoldás a fenti kérdésre, vagyis lehetséges egy könyvtárba beleírt fájlok automatikus továbbítása egy program bemenetére, az érdekelne.

köszönöm! dio

elkerülném hogy mondjuk másodpercenként figyeljem a könyvtár tartalmát, és ha van új fájl, akkor feldolgozzam

Erre valo a

dnotify

.

Szeretnék olyan megoldást (ha létezik ilyen) hogy kijelölök egy könyvtárat, és azt mondom hogy minden fájl amit ide írnak, automatikusan továbbítódjon egy program szabványos bemenetére, amint az írásnak vége van és a fájlt lezárták.

Konkret program nincs, a dnotify olyat tud, hogy ha valami "mozgas" volt a konyvtarban (access/modify/create/delete/rename/chmod/chown), akkor meghivja a programodat. Az szepen vegignezi a konyvtarat, es minden file-t feldolgoz.

Mivel a kernel figyeli a konyvtarat, ha nincs mozgas, a terheles nulla. Amint a figyelt esemeny bekovetkezik, a programod gyakorlatilag azonnal meghivodik.