"cat" jako daemon
Petr Sremr
petr.sremr na hwserver.cz
Pátek Duben 7 23:40:56 CEST 2006
> Domnivam se, ze jste si odpovedel sam :) bodem 2/ . Jedina jina
> varianta, ktera mne napada je neco ve stylu
>
> ---->8--- CUT ---8<-----
> start-stop-daemon --start --background --exec /bin/sh -- -c '/dev/ttyS0
> > /tmp/in_fifo'
> ---->8--- CUT ---8<-----
No, mam pocit, ze jsem to taky zkousel a taky to neslo :-( Ale jeste
jednou to zkusim.
Problem toho meho reseni je nastane, kdyz pouziju pri spusteni
... -m --pidfile /var/.../serial0.pid --exec /usr/sbin/serial0
PID "serial0" je trebas 455 a PID "cat" 456. Do "serial.pid" se ulozi
455. Ale "serial0" se okamzite ukonci a "cat" bezi jako daemon. K
ukonceni daemona musim pouzit
... --stop --pidfile /var/.../serial0.pid --exec /bin/cat
Ale tim se neukonci, protoze si neodpovidaji PID :-(
Reseni me napada. Ten skript "serial0" by musel PID v "serial0.pid"
prepsat tou hodnotou 456. Ale to bych potreboval zjistit PID "prave
spousteneho" procesu, neco jako
#!/bin/sh
MYPID = get_pid("cat /dev/ttyS0 > /tmp/in_fifo &")
echo $MYPID > /var/.../serial0.pid
:-( :-(
Nebo mozna exec. Proces shellu se nahradi "cat" a mozna, ze se nezmeni
PID a stdout zustane "dostupny"???? Zkusim to.
V kazdem pripade dekuju za pomoc a dobrou noc.
--
Petr Sremr
HW group
Další informace o konferenci Linux