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

Félix Hauri felix at f-hauri.ch
Sat May 24 10:57:51 CEST 2008


On Fri, May 23, 2008 at 08:47:55PM +0200, Marc Mongenet wrote:
> Bonsoir,
> 
> J'utilise Bash et il y a un petit détail qui commence à me taper
> sur les nerfs. Lorsque je lance une commande en arrière-plan,
> soit en général un programme X, Bash écrit :
> [1] 12345
> Et pire, lorsque le programme se termine, en général car je ferme
> la fenêtre, il écrit :
> [1]+  Done  commande avec tout ses arguments
Cela ne se passe que si le process qui lance le sous-process et 
détenteur du tty:
$ sleep 2 & 
$ sleep 2 &
[1] 27645
$  
[1]+  Done                    sleep 2

Mais si tu lances ton process depuis un sous-process, alors:

$ ( sleep 2 & )
$ 
$

Je crois que c'est ce que tu cherches.

$ ( ( sleep 2;echo coucou ) & )
$ coucou


> 
> Je ne me suis jamais servi de ces indications (j'utilise généralement
> top quand j'ai besoin de retrouver un process ID).
Si tu commence à pondre des process récursifs et multi-thread, cela
devient très rapidement utile...

> Mais je me rend compte que je tape souvent sur retour pour les
> faire défiler car elles encombrent le terminal.
A tout moment, et égallement en mode TTY (non graphique) lorsque des
logs système viennent perturber ce que l'on tape, la séquence ``Ctrl-L''
permet de vider l'écran (ou le redessiner dans less, vi, mutt et consors)
dans bash, on retrouve un écran propre avec la ligne en cours d'édition
en haut de l'écran.

> J'ai regardé le manuel de Bash, je n'ai vu que "set -b" ...
> ... (sans recompiler Bash si possible...).
Après les cow-boys à la gâchette facile,
voici les hackers au compilateur facile ;-)

A+.

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch



More information about the gull mailing list