Réponse courte
Dans le terminal qui ne répond pas:
- Hit Ctrl+ Z.
- Tapez
bg
et entrez.
- Tapez
disown
et entrez.
Longue réponse
Dans le terminal qui ne répond pas, appuyez sur Ctrl+ Z, cela "mettra en pause" le processus (ou le "travail") et vous renverra le contrôle de la console. Cependant, vous remarquerez que cela gedit
ne répond plus et que vous ne pouvez pas l'utiliser.
Extra : si vous voulez, vous pouvez exécuter la commande jobs
, vous remarquerez qu'elle se lira Stopped pour la gedit
commande, c'est pourquoi vous ne pouvez pas l'utiliser.
Pour que le travail s'exécute correctement en arrière-plan (c'est-à-dire qu'il soit gedit
réactif), exécutez la commande bg
(ce qui signifie arrière-plan). Vous pourrez maintenant utiliser tout en gedit
ayant l'invite pour vous-même.
Extra : maintenant, si vous exécutez jobs
, vous remarquerez que ça va lire Running .
Vous pouvez surmonter tout cela dès le début. Lorsque vous lancez gedit
depuis le terminal, ajoutez un &
à la fin de la commande, donc quelque chose comme ça gedit /path/to/file &
. Cela se lancera gedit
en arrière-plan depuis le début (vous devrez peut-être appuyer Enterplusieurs fois pour récupérer le contrôle de la console).
Extra : si vous suiviez ces notes supplémentaires, vous auriez peut-être remarqué que la deuxième fois jobs
, vous pouviez voir que bash ajoutait un a &
à la fin de la gedit
commande.
Une fois que vous vous serez habitué à ce système, vous remarquerez peut-être que si vous fermez le terminal, gedit se terminera également, sans même qu'un dialogue de confirmation. Pour éviter que cela ne se produise, exécutez disown
, qui détachera le processus gedit du terminal, en le supprimant de la liste renvoyée par jobs
.
Il suffit de taper:
gedit <filename-to-edit> &
Cela vous renverra immédiatement l'invite de commande.
la source
Vous pouvez utiliser le
nohup
pour éviter que l'interface graphique soit connectée à un terminal:Cela vous permettra de fermer le terminal à partir duquel vous lancez, sans que le programme ne soit fermé.
Vous devriez également remarquer que la commande nohup créera un fichier avec le
stdout
etstderr
de la commande que vous exécutez. Si vous voulez empêcher cela, ajoutez&>/dev/null
avant le&
.la source
nohup.out
contenant les résultats de la commande. Ceci est utile si vous souhaitez afficher les messages d'erreur. Si vous ne voulez pas que le fichier soit créé, ajoutez la redirection comme suit:nohup mupdf some.pdf &>/dev/null &
Vous pouvez également utiliser la
disown
commande. Cela s'avère particulièrement utile lorsque vous avez déjà lancé le processus que vous ne souhaitez plus connecter au terminal.La procédure de base, si je me souviens bien, ressemble à ceci:
Notez que désavouer est
bash
spécifique.Ce billet de blog explique assez bien les deux méthodes.
Page de manuel pour disown
la source
firefox & disown
De
man gedit
:Donc, si vous exécutez
gedit
avec l'-b
option, il va commencer en arrière - plan:De plus, vous pouvez ensuite créer un alias pour
gedit -b
(voir ici comment créer un alias permanent):A partir de maintenant, à l'avenir, vous pourrez utiliser
gedit [FILE-NAME]
normalement et tout commencera en arrière-plan.la source
Il suffit de taper:
La fin d'une commande avec
&
in bash l'exécute en arrière-plan. Cependant, ce processus est toujours attaché au terminal.Sans celaIl s'avère que je me suis trompé, ce n'est pas le cas pour bash, mais c'est le cas pour zsh. Vous devez toujours courirdisown
, si vous fermez le terminal, gedit se fermera sans même vous demander de sauvegarder un fichier modifié.disown
détache le processus d'arrière-plan du terminal actuel, de sorte que si vous fermez le terminal, gedit continuera à fonctionner normalement.detach
après avoir fait ctrl, zetbg
même en bash.Vous pouvez en savoir plus sur les Encastrements
jobs
,disown
et le&
métacaractère dans la page de manuel pour labash
commande , en particulier la section intitulée « contrôle de l' emploi ».la source
disown
j’ai pu garder le gedit ouvert après la fermeture du terminal. Je n'ai pas compris ce que vous avez dit à propos de "ce n'est pas le cas pour bash, mais c'est le cas pour zsh"C'est probablement parce que vous avez ouvert gedit via un terminal. Lorsque vous faites cela, vous voyez la sortie de ligne de commande qui est normalement masquée si elle est démarrée via l'interface graphique. La meilleure solution consiste à ouvrir une nouvelle fenêtre de terminal. L'autre sera disponible après la fermeture de gedit. Vous pouvez également utiliser le commutateur suggéré par l'utilisateur ci-dessus.
la source