[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