Terminalde uzun süre çalışan bir program duraklatılıyor mu?


17

Terminalde çalışan bir programı duraklatmak için kullanabileceğim bir klavye tuşu kombinasyonu var mı? Önemli olması durumunda, program duraklatıldığında bu terminalin içinde başka bir şey çalıştırmak istemiyorum. Sadece programın yürütülmesini duraklatmak ve daha sonra devam ettirmek istiyorum. Bunu nasıl yapabilirim?


Tam olarak hangi program?
jobin

@Jobin C ++ ile yazdığım bir program. Ama kaynak kodunu değiştirmek istemiyorum.
becko

Bir yeniden başlatma veya başka bir şeyden sonra işleme devam etmek istiyor musunuz?
jobin

@Jobin Hayır, yeniden başlatmak istemiyorum. Daha sonra devam etmek istiyorum, ancak sistemi ortada yeniden başlatmayacağım.
becko

Yanıtlar:


17

Control+ Tuşuna basın Z.

Bu işlemi askıya alır ve sizi bir kabuğa döndürür. Sen edebilirsiniz İsterseniz şimdi başka şeyler yapmak ya da girerek arka plan süreci dönebilir% izledi Return.

Bunu yanıt vermesi gereken bir şeye yapıyorsanız, sistemi aktaracağınızı unutmayın, ancak bu sadece bir nanoörnek gibi bir şeyse, her şeyin yolunda olması gerekir.


Terminal işlemini duraklatmak güvenli mi?
Pandya

@Pandya: Neden olmasın?
jobin

@Pandya, bunun sürece bağlı olduğuna eminim ... Bir şey çok zamana duyarlıysa, askıya alınmayı beklemeyebilir, ancak çoğu şey iyi olmalıdır .
Oli

16

Bu bash iş kontrolü

CTL-Z kullanınİşi durdurmak için .

Sonra bg yazabilirsiniz arka planda çalıştırmak için , sadece iş varsa tam olarak bunu yapar.

Birden fazla listeniz varsa işleri listelemek ve fg% N ve bg% N kullanmak için kullanabilirsiniz istediğiniz efekt kullanabilirsiniz.

Misal:

ubuntu @ ip-10-170-59-120: ~ $ bul / usr -adı "* .so"
/usr/lib/python2.7/dist-packages/OpenSSL/crypto.so
/usr/lib/python2.7/dist-packages/OpenSSL/SSL.so
/usr/lib/python2.7/dist-packages/OpenSSL/rand.so
/usr/lib/python2.7/dist-packages/gi/_glib/_glib.so
/usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so
/usr/lib/python2.7/dist-packages/gi/_gi.so
/usr/lib/python2.7/config/libpython2.7.so
...
^ Z
[1] + Bul / usr-adı durduruldu 

ubuntu @ ip-10-170-59-120: ~ $ iş
[1] + find / usr -name "* .so" durdu

ubuntu @ ip-10-170-59-120: ~ $ fg% 1
find / usr -name "* .so"
/usr/lib/php5/20090626+lfs/apc.so
/usr/lib/php5/20090626+lfs/memcache.so
/usr/lib/php5/20090626+lfs/mysql.so
...

TTY'ye bağlı olmayan başka bir şey için SIGSTOP ve SIGCONT kullanabilirsiniz . Örneğin, bir daemonun sorunlara neden olduğunu düşünüyorsanız, ancak hangisinin olduğunu bilmiyorsanız, pid SIGSTOP'u gönderebilirsiniz, duraklama gibi, daha sonra değişiklikleri kontrol edin, tamam bu değil ve durulayın ve tekrarlayana kadar tekrarlayın. sorunu bul.

Bu yardımcı olur umarım.


1
İyi cevap! Sadece bash olayı olmadığını ekleyebilir miyim? Korn kabuğu aynı şekilde çalışır.
Sergiy Kolodyazhnyy

4

Bu cevabın biraz geç olduğunu biliyorum, ancak Ctrl+sprogramınızı durdurmak için kısayolu kullanabilirsiniz (çıktıyı okumak veya bunun gibi bir şey okumak istiyorsanız), kısayolu kullanmaya devam edebilirsiniz Ctrl+q.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.