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.
Réponses
Trop de publicités?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é :
-
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
-
Remarquez qu'il est arrêté (état
T
) -
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.