- Hiena blogja
- A hozzászóláshoz be kell jelentkezni
- 877 megtekintés
Hozzászólások
Valaminek "érzékelnie" kell, hogy a fifo-t megnyitották olvasásra. Ez máris egy "alkalmazás", aminek ugye folyamatosan futnia kell. Tehát: nem.
Ez a figyelő alkalmazás később elindíthatja a fifo-hoz kapcsolva a "valódi" alkalmazást, ami ugye eddig nem futott, most meg az igényre válaszul elindul. Tehát: igen.
UNIX Domain Sockets
In addition to running services on IP sockets, inetd can also manage UNIX
domain sockets. To do this you specify a protocol of "unix" and specify
the UNIX domain socket as the service-name. The service-type may be
"stream" or "dgram". The specification of the socket must be an absolute
path name, optionally prefixed by an owner and mode of the form
:user:group:mode:. The specification:
:news:daemon:220:/var/run/sock
creates a socket owned by user "news" in group "daemon" with permissions
allowing only that user and group to connect. The default owner is the
user that inetd is running as. The default mode only allows the socket's
owner to connect.
- A hozzászóláshoz be kell jelentkezni
Mas a UNIX Domain Socket, es mas a named pipe.
Utobbi egy olyasmi pipe, mint amit 2 process kozt | jellel letrehozol, csak ennek kulon neve van (a filerendszerben jon letre). A socket ketiranyu, ez egyiranyu.
pl:
nyos@hex:~$ mknod akarmi p
nyos@hex:~$ la akarmi
prw-r--r-- 1 nyos 0 2012-03-10 14:00 akarmi|
nyos@hex:~$ echo ok >akarmi
masik terminalban:
nyos@hex:~$ cat akarmi
ok
(addig az echo is blokkolodott)
--
R2D2 a filmtörténet legmocskosabb szájú karaktere.
Minden szavát kisípolták.
- A hozzászóláshoz be kell jelentkezni
Az egyik ötletem az volt, hogy periodikusan végigtúrni a /proc-ot a megnyitott fileok után, és ha valami megnyitja az adott fifot, akkor indítom a programot aminek a kimenete megy a fifoba. Ennél csak az a bökkenő, hogy a fifot megnyitó alkalmazásnak tudnia kell, hogy nem valós filet nyit meg, és várnia kell.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
Nincs jobb ötletem, mint csinálni egy kis programot, ami megnyitja a fifo-t írásra. Amíg nincs olvasásra megnyitva a fifo, addig a rendszer nem adja vissza a vezérlést. Amint visszatér az open(), fork+exec -el el lehet indítani az "igazi" alkalmazást.
- A hozzászóláshoz be kell jelentkezni