"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