Prikaz script v pozadi? (Re: presmerovani std a err, buffering)
Bohumil Chalupa
bochal na apollo.karlov.mff.cuni.cz
Čtvrtek Srpen 21 18:08:43 CEST 1997
Dobry den vespolek, moc diky za odpoved, a ptam se dal. :-)
On Tue, 19 Aug 1997, Jan Kasprzak wrote:
> > nohup ./program -param1 -param2 >> soubor.log 2>&1 &
>
> Elementary, Mr. Watson :-) Muze za to stdio a jeho zpusob bufferovani.
Ze za to muze nejake bufferovani, to jsem tusil, pane Holmesi; proto jsem
to napsal do subj. ;-)
> pripade (vystup do bezneho souboru, do roury nebo do socketu) jde vystup
> po celych bufferech. Proto se hlasky do souboru vypisuji zdanlive prehazene,
> ve skutecnosti vsak po blocich pevne delky).
Ano, ty bloky jsou asi stejne delky, ovsem samozrejme ve znacich.
A protoze jednotlive radky obou vystupu jsou ruzne dlouhe, vejde se jich
do bufferu ruzny pocet. Nasledkem cehoz jsou v souboru prehazeny nejen
zdanlive i v pripade, ze je jich z obou vystupu stejny pocet. :-(
> Reseni jsou dve: Budto je ./program vas program -- pak vam nic
> nebrani napsat na zacatek main() prislusne volani setvbuf() na stdout
> i stderr, anebo muzete ./program spustit napriklad pres prikaz
> script(1). Program ./program pak bezi v pseudoterminalu a vypisuje
> spokojene po radcich.
Program bohuzel neni muj, :-( takze mi nezbude, nez se to pokouset nejak
obejit/obalit.
No a porad mi neni uplne jasne jak. Prikaz script spusti novy interaktivni
shell. A ja nevim, lze-li to cele nejak zaridit na pozadi.
BoChal
Další informace o konferenci Linux