Lorsque je lance certains programmes à partir de la ligne de commande, tels qu'éclipse et la visionneuse de documents dans 11.10, il génère une charge d'informations qui semble sans importance.
De plus, lorsqu'ils sont exécutés en arrière-plan, ils continuent parfois de produire une sortie vers le terminal sur lequel je travaille actuellement, ce qui est irritant.
Je voudrais juste qu'ils lancent et gardent les éléments d'arrière-plan à l'arrière-plan. Mon raisonnement est que si vous lancez ces programmes via l'interface graphique (par exemple, en double-cliquant sur une icône), ces messages ne me sont jamais montrés, je n'en ai donc pas besoin dans la ligne de commande.
command-line
Anake
la source
la source
Réponses:
Si vous pouvez éviter d'écrire des choses dans la console, cela dépend de la manière dont la sortie du programme est créée. S'il est diffusé en sortie standard, il suffit alors de le faire
et aucune sortie ne doit être faite.
Pour supprimer également les messages d'erreur:
Ou tout simplement:
Mais s’ils le font différemment, il peut être difficile d’empêcher l’écriture dans la console.
si possible, utilisez la solution donnée par MuffinStateWide
la source
eclipse 2&>1 >/dev/null
soit éliminéstderr
. La redirection par défaut seulementstdout
. Et il n'y a pas de manière "différente" de le faire, si vous purgez stdout et stderr dans le bas, il n'y aura pas de sortie.eclipse &> /dev/null
. Cela attrape à la fois stdin et stderr au point de redirection (dans bash)Vous pouvez créer une fonction bash qui alias un nom de commande et ajouter des fonctionnalités supplémentaires pour réaliser ce que vous demandez.
Par exemple, supposons que vous souhaitiez lancer
gvim
(un éditeur de texte graphique) à partir de la ligne de commande.vous pourriez écrire une fonction comme celle-ci:
(ajoutez cette fonction à votre fichier
.bashrc
ou.bash_aliases
elle sera toujours chargée)Explication:
cela aliasera la
gvim
commande avec une fonction bash également nomméegvim
(ainsi, lorsque vousgvim
taperez à l’invite bash, elle appellera votregvim
fonction plutôt que d’exécuter lagvim
commande réelle . Votre fonction appellera alors lagvim
commande réelle (et acceptera ses arguments habituels), avec quelques fonctionnalités ajoutées:/dev/null
(supprime la sortie vers le terminal)&
pour exécuter la commande en arrière-plan (pour que votre shell ne soit pas bloqué)disown
pour supprimer le travail en arrière-plan du shell (afin qu'il n'apparaisse pas dans la liste des travaux actifs)nohup
pour détacher le processus du terminal (vous pouvez donc mettre fin à votre session shell ou fermer votre terminal sans tuer le processus)la source
essayez d’ajouter --help en tant que commutateur de commande et recherchez «calme», ce qui devrait supprimer la sortie ou simplement être lancé à partir de l’interface graphique. et lancer avec le commutateur ou trouver un moyen de le supprimer via un script
Personnellement, je lance de Cli pour obtenir cette sortie si im ne suis pas sûr que ce est possible pour toutes les applications GUI.
la source