GNU/Linux >> Tutoriels Linux >  >> Linux

Fermer la sortie standard (>&-) ?

Fermé . Cette question doit être plus ciblée. Il n'accepte pas de réponses actuellement.

Vous voulez améliorer cette question ? Mettez à jour la question afin qu'elle se concentre sur un seul problème en modifiant ce message.

Fermé il y a 3 ans.


Améliorer cette question

J'essaie d'empêcher un programme graphique, qui a été lancé à partir du terminal, d'écrire dans la console. Pour ce faire, je lance guiprogram >&- . Cela conduit le programme à geler certaines opérations.

Que signifie le >&- opérateur faire exactement? Quel est le but recherché ? Pouvez-vous donner des exemples? Est-il légitime d'empêcher l'écriture dans la console en l'utilisant ? Pourquoi le programme se fige lors de la fermeture de la sortie standard ?

Réponse acceptée :

Si vous souhaitez empêcher la sortie d'un programme d'apparaître n'importe où, redirigez vers /dev/null :

guiprogram >/dev/null 2>&1

Fermeture de stdout ne fonctionne que si le programme sait comment traiter les fichiers fermés.

Une utilisation pratique de >&- est rare, vous pouvez l'utiliser si vous affectez ensuite une autre destination de sortie à stdout et que vous voulez vous assurer que le canal de sortie d'origine a été correctement fermé.


Linux
  1. Lister les fichiers accessibles par un programme ?

  2. Comment faire fonctionner n'importe quel programme avec la commande Tee ?

  3. Linux - Arrêtez de regarder la sortie d'un programme particulier après avoir utilisé la commande Watch ?

  4. Obtenez les 4 derniers caractères de la sortie de la sortie standard

  5. Comment puis-je faire en sorte que tcpdump écrive dans un fichier et que la sortie standard affiche les données appropriées?

Programmer le matériel à partir de la ligne de commande Linux

Apprenez les bases du fonctionnement de la redirection Linux I/O (Entrée/Sortie)

Comment fonctionne le programme ping sous Linux

redirection de sortie à la volée, voir la sortie de redirection de fichier pendant que le programme est toujours en cours d'exécution

Comment rediriger la sortie de system() vers un fichier ?

Arrêter de regarder la sortie d'un programme particulier après avoir utilisé la commande watch ?