[gull] Shell sans "[1] 5573" et "[1]+ Done commande"

Daniel Cordey dc at mjt.ch
Mon May 26 15:30:45 CEST 2008


On Monday 26 May 2008, Marc Mongenet wrote:

> Du point de vue du shell, si je lance :
> /tmp/ > xclock &
> il me semble que ce n'est pas interactif, non ?

Tu veux dire ? :

	xclock >/tmp/xxx &

L'usage de '&' envoie le process en 'background'. Ceci est equivalent (en 
utilisant les fonctionalite du job-control de bash) a :

	xclock >/tmp/xxx
	Ctrl-z
	bg

> >        stty -a
>
> speed 38400 baud; rows 24; columns 80; line = 0;
> intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
> ...

Tout me semble normal

> >        xxx >my_log 2>&1 &
>
> Il me semble que les messages de job control du shell ne passent pas
> par stdin/out/err et ne peuvent même pas être redirigés.

En effet, les messages de job control sont engendres par des signaux et 
envoyes directement au "controlling terminal". Il est toutefois possible de 
bloquer les process en attent d'entree ou de sortie quand ceux-ci sont 
executes en backgraound (stty tostop).

Normalement, l'output :

	[1] PID

N'est recu que si le process est execute en background et que l'on est dans un 
shell attache au "controlling terminal". Ceci est tout a fait standard et 
fonctionne de la meme maniere en ksh/POSIX_sh.

dc






More information about the gull mailing list