zapis do jedneho suboru z viacerych procesov

Petr Novotny Petr.Novotny na antek.cz
Pondělí Červenec 31 18:48:14 CEST 2000


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 31 Jul 00, at 18:26, Igor Kilian wrote:

> Ide mi o zapisovanie do jedneho suboru (co bude nieco ako
> centralny log) z viacerych procesov na sebe nezavislych spustanych z
> cronu. Ten zapis by nebol staly, ale iba z casu na cas jeden riadok.

To by nemel byt problem.

> Zaujimalo by ma co sa stane ked sucasne budu chciet zapisat dva
> procesy do daneho suboru. Ked som skusal pokusny skript:
> 
> #!/bin/sh
> while true
> do
> echo yes >> /tmp/log
> done
> 
> spusteny na pozadi, a pocas toho som sa pokusal zapisat do daneho
> suboru, tak vsetko bolo ok. Zapisal kazdy moj pokus.

Zapisy kratsi nez nejaka magicka konstanta (512 bytu? 1024 bytu? 
tak neco) se provedou atomicky - na to je nejaka garance.

> Ked som vsak dal
> na pozadie prikaz "yes >> /tmp/log" a pokusal sa zapisat do daneho
> suboru nejaky retazec tak to neslo (nezapisal ani jeden, po minute som
> ho killol {teda ten prikaz yes}).

Protoze "yes" si /tmp/log otevrel pro zapis nejspis exkluzivne. 
Nevim. Hadam. Kazdopadne jste rikal, ze vas program vypise par 
radek a ne ze bude hucet do vystupu co se tam vejde (chovani yes: 
je-li stdout zapisovatelny (select() na writability), neco tam tlac).

> Blizsie ku skutocnosti co chcem je
> ten prvy pripad, ale musim vediet urcite ci nejaky zapis nahodou
> nestratim.

Neztratite nic urcite. Akorat si mozna otevrete moc procesu a 
vyplacate si file descriptory :-) Ja bych se toho nebal.


-----BEGIN PGP SIGNATURE-----
Version: PGP 6.0.2 -- QDPGP 2.60 
Comment: http://community.wow.net/grt/qdpgp.html

iQA/AwUBOYWfvlMwP8g7qbw/EQI4iQCgqbKlq2m6gdnSkYC1Cs3ou85niW0AoKoJ
87PSLgAH/n1c2J0GGdJfZOuM
=BMVc
-----END PGP SIGNATURE-----
--
Petr Novotny, ANTEK CS
Petr.Novotny na antek.cz
http://www.antek.cz
PGP key ID: 0x3BA9BC3F
-- Don't you know there ain't no devil there's just God when he's drunk.
                                                             [Tom Waits]


Další informace o konferenci Linux