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