Comment redirect toutes les sorties vers / dev / null?

Je veux lancer un programme (google-chrome) en arrière-plan, mais l’empêcher de transmettre des messages au terminal.

J’ai essayé de faire ça:

google-chrome 2>&1 1>/dev/null & 

Cependant, le terminal se remplit toujours de messages tels que:

[5746: 5746: 0802/100534: ERREUR: object_proxy.cc (532)] Impossible d’appeler la méthode: org.chromium.Mtpd.EnumerateStorag …

Qu’est-ce que je fais mal? Comment redirect toute la sortie vers /dev/null ?

Les opérateurs de redirection sont évalués de gauche à droite. ce que vous avez fait de mal a été mis 2>&1 premier, qui pointe 2 au même endroit que 1 actuellement pointé vers l’écran du terminal local car vous n’avez pas encore redirigé 1 . Ce que vous devez faire est l’un des suivants:

 2>/dev/null 1>/dev/null google-chrome & 

ou

 2>/dev/null 1>&2 google-chrome & 

Le placement des opérateurs de redirection par rapport à la commande n’a pas d’importance. Vous pouvez les mettre avant ou après la commande.

Dans la section Redirection le manuel de référence de bash dit:

L’opérateur [n]>&word est utilisé pour dupliquer les descripteurs de fichier de sortie

Pour redirect à la fois stderr et stdout vers un file vous devez utiliser le formulaire

 &>file 

En ce qui concerne votre cas, cela signifie remplacer

 2>&1 1>/dev/null 

avec

 &>/dev/null 

Il semble que la syntaxe soit différente:

 ./a.out 1>/dev/null 2>&1 & 

Voir les périphériques pour FD = 2 sont différents lorsque ./a.out 1>/dev/null 2>&1 et ./a.out 2>&1 1>/dev/null &

1) FD = 2 points sur / dev / null

 >./a.out 1>/dev/null 2>&1 & [1] 21181 >lsof -p `pidof a.out` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME a.out 21181 xxxxxxxxxxxxxxx 0u CHR 136,43 0t0 46 /dev/pts/43 a.out 21181 xxxxxxxxxxxxxxx 1w CHR 1,3 0t0 3685 /dev/null a.out 21181 xxxxxxxxxxxxxxx 2w CHR 1,3 0t0 3685 /dev/null 

2) FD = 2 points à / dev / pts / 43

 >./a.out 2>&1 1>/dev/null & [1] 25955 >lsof -p `pidof a.out` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME a.out 25955 xxxxxxxxxxxxxxx 0u CHR 136,43 0t0 46 /dev/pts/43 a.out 25955 xxxxxxxxxxxxxxx 1w CHR 1,3 0t0 3685 /dev/null a.out 25955 xxxxxxxxxxxxxxx 2u CHR 136,43 0t0 46 /dev/pts/43