67 votes

Comment revenir à nano après avoir appuyé sur Ctrl-Z si je n'ai pas d'invite Shell (dans une session Matlab).

J'utilise nano dans une session MATLAB qui s'exécute dans un terminal screen (-x). J'appuie accidentellement sur Ctrl-Z et le système quitte immédiatement nano, affiche "Use "fg" to return to nano", mais n'affiche pas d'invite de commande. Tout ce que je tape apparaît à l'écran mais rien ne répond. Si j'appuie sur Ctrl-Z, ^Z s'affiche à l'écran. Avez-vous des idées ? J'utilise la version 12.04.

109voto

Mufaka Points 54

Si c'est le seul processus en arrière-plan qui entre % suivi par Return devrait vous ramener à nano.

Cela dit, fg devrait toujours fonctionner. Même si vous avez plus d'un emploi, il devrait vous renvoyer vers le plus récent.

31voto

Panther Points 96601

Liste de vos emplois

jobs

Mettre un emploi au premier plan

fg 1

remplacez le "1" par le numéro de travail correspondant à nano.

Voir aussi https://unix.stackexchange.com/questions/30228/basic-job-control-stop-a-job-add-a-job-onto-the-stack-and-fg

16voto

Rmano Points 30303

Dans les commentaires, l'auteur dit qu'il ou elle dirige la nano à partir de Matlab, et qu'il n'y a aucune invite après l'avoir suspendue avec CTRL-Z. Il s'agit probablement d'un bogue de Matlab(1) qui ne devrait pas permettre l'arrivée d'un CTRL-Z à nano s'il ne peut pas le gérer...

Le problème est que la commande Shell fg (et bg y jobs ) ne fonctionne qu'avec les enfants directs du Shell. Mais vous pouvez continuer un processus arrêté à partir d'une autre Shell, bien que cela ne garantisse pas que le statut de l'écran soit correctement géré :

  1. dans une autre fenêtre de terminal, trouvez le nano processus :

    % ps ugx | grep nano
    romano   10600  0.0  0.0  20784  1628 pts/11   T    16:52   0:00 nano prova
    romano   10653  0.0  0.0  18256   900 pts/11   S+   16:53   0:00 grep nano
  2. Remarquez qu'il est arrêté (état T )

  3. Poursuivez-le avec

    kill -CONT 10600 

...et espérer que cela fonctionne (cela peut perturber considérablement le terminal). Vous pouvez également essayer un

killall -CONT nano 

de cette façon, le CONT est envoyé à tous les processus "nano" (cela ne devrait pas poser de problème).


Notes de bas de page :

(1) J'ai essayé avec octave : EDITOR=nano octave et ensuite edit file en octave. En appuyant sur CTRL-Z, les choses se gâtent assez bien... donc peut-être que ce n'est pas Matlab mais une interaction étrange sur qui reçoit et gère le signal TSTP.

0voto

Dans Lubuntu, j'utilise simplement l'option F12 clé ... et la fenêtre avec le terminal revient.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X