Bagaimana saya kembali ke nano setelah menekan Ctrl-Z jika saya tidak memiliki prompt shell (dalam sesi Matlab)

31

Saya menggunakan nano di dalam sesi MATLAB yang berjalan di dalam terminal layar (-x). Saya tidak sengaja menekan Ctrl-Z dan segera meninggalkan nano, mencetak "Gunakan" fg "untuk kembali ke nano", tetapi tidak menampilkan prompt perintah. Apa pun yang saya ketik muncul di layar tetapi tidak ada yang merespons. Jika saya menekan Ctrl-Z, ^ Z hanya mencetak ke layar. Ada ide? Menggunakan 12,04.

pengguna282315
sumber
Anda harus memiliki prompt setelah menekan ctrl-z. Saya punya ... sepertinya ini tidak terjadi pada Anda. Bagaimana tepatnya Anda menjalankan nanoterminal?
Rmano
Saya baru sadar saya tidak benar-benar menggunakan 12,04. Saya sebenarnya berlari nanodari dalam sesi MATLAB, yang merupakan (jelas) masalahnya (maaf karena lupa menyebutkan bahwa; Saya lupa saya berada di MATLAB). Memanggil jobsdi layar lain tidak mencantumkan pekerjaan apa pun untuk ditarik.
user282315

Jawaban:

11

Dalam komentar penulis mengatakan bahwa ia menjalankan nanoperintah dari Matlab, dan bahwa tidak ada prompt apa pun setelah menangguhkannya dengan CTRL-Z. Ini mungkin bug di Matlab (1) yang seharusnya tidak memungkinkan CTRL-Z tiba ke nano jika tidak bisa mengatasinya ...

Masalahnya adalah bahwa perintah shell fg(dan bg, dan jobs) hanya bekerja dengan anak-anak langsung dari shell. Tetapi Anda dapat melanjutkan proses yang dihentikan dari shell lain, meskipun ini tidak akan menjamin bahwa status layar dikelola dengan benar:

  1. di jendela terminal lain, temukan nanoprosesnya:

    % 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. Perhatikan bahwa itu dihentikan (status T)

  3. Lanjutkan dengan

    kill -CONT 10600 
    

... dan berharap itu berhasil (dapat sangat mengacaukan terminal). Anda juga dapat mencoba

killall -CONT nano 

dengan cara itu CONTsinyal dikirim ke semua proses "nano" (seharusnya tidak menjadi masalah).


Catatan kaki:

(1) Saya mencoba dengan octave: EDITOR=nano octavedan kemudian edit filedalam oktaf. Menekan CTRL-Z mengacaukan semuanya dengan baik ... jadi mungkin itu bukan Matlab tetapi interaksi aneh tentang siapa yang menerima dan mengelola sinyal TSTP.

Rmano
sumber
Luar biasa, itu berhasil. Masalah ini telah mengganggu saya untuk sementara waktu! Log bug dengan TheMathWorks. Terima kasih!
user282315
1
Sayangnya, akun baru, tidak ada reputasi untuk dibatalkan (belum).
user282315
54

Jika itu satu-satunya proses masuk yang %diikuti diikuti oleh Returnharus mengembalikan Anda ke nano.

Yang mengatakan, fgharus selalu berhasil. Bahkan ketika Anda memiliki lebih dari satu pekerjaan, itu akan memantul Anda kembali ke yang terbaru.

Oli
sumber
5
imo, ini adalah jawaban nyata, ia melakukan apa yang diminta op, buka kembali (ctrl + z) jendela Nano.
DonSeba
trik keren di sini.
pietrovismara
Ini membantu saya juga.
Arefe
Ini harus menjadi jawaban yang tepat.
user2180794