bash: background processes able to write to terminal?

Sekcia: Programovanie 03.05.2008 | 20:01
Avatar Grawp   Používateľ
Citujem BASH Reference Manual Only foreground processes are allowed to read from or write to the terminal. Background processes which attempt to read from (write to) the terminal are sent a SIGTTIN (SIGTTOU) signal by the terminal driver, which, unless caught, suspends the process. no a mam taky problém. Mne totiź background procesy píšu do terminálu čo len chcú a kedy chcú.
Mám trebárs skript čo mi do terminálu furt vypisuje "1" po kaźdej sekunde a potom mám skript čo mi po 5 skeundách vypíśe "prd"

najprv pustím ten druhý skript na pozadí napr ./prd_skript.sh & a hned potom pustim ten skript čo vypisuje tie "1" kazdú sekundu

no a výsledok vyzerá takto: 1
1
1
1
prd
1
1
......

Nehovoril manuál o tom, že jakmile sa pokúsi skript v backgrounde vypisat hocico do popredia tak ze bude suspendovaný (defaultne) ?

A keď v skripte pouźijem read tak to nić nespraví ale takisto to ten skript nesuspenduje.
    • Re: bash: background processes able to write to terminal? 03.05.2008 | 20:04
      Avatar Grawp   Používateľ
      A objavil som aj inú vec: Terminál SIGTTOU a SIGTTIN vobec tomu procesu v backgrounde neposle.
    • Re: bash: background processes able to write to terminal? 03.05.2008 | 20:06
      WlaSaTy   Návštevník
      hovoril, ale job sa stopne len ked je na to dovod. ak chces citat z terminala ktory nie je pre teba dostupny (si ako proces na pozadi), tak pochopitelne nemozes. podobne by to bolo aj ked by si isiel pisat na terminal a linka bola zahltena (stary modemisti poznaju). ale obycajne pisanie do okienka na lokalnom stroji je obvykle bezproblemove.