İşe böyle başladığını söyle
foo
ve daha sonra arka plana yerleştirmek istediğiniz arzusu. Ctrl+ ZVe sonra yazmak bghile yapar ancak + ve fooarasında donar . Foo'yu önce dondurmadan arka plana nasıl yerleştirebilirim?CtrlZbg
İşe böyle başladığını söyle
foo
ve daha sonra arka plana yerleştirmek istediğiniz arzusu. Ctrl+ ZVe sonra yazmak bghile yapar ancak + ve fooarasında donar . Foo'yu önce dondurmadan arka plana nasıl yerleştirebilirim?CtrlZbg
Yanıtlar:
Teknik olarak foozaten arka planda çalışır. İkinci bir terminal oturumu başlatabilirsiniz ve birincisi foobaşka şeyler yaparken çalışmaya devam eder .
X'te, bu sadece ikinci bir terminal uygulaması başlatmayı veya seçtiğiniz terminal emülatörünüzde bu gibi özellikler varsa başka bir sekme açmayı içerir.
Konsolda, planlamadıysanız, farklı bir sanal terminale geçmeniz ve tekrar giriş yapmanız gerekir.
Gibi bir terminal çoklayıcı kullanıyorsanız screenveya tmuxiçinde başka bir oturum başlatabilirsiniz. Örneğin, ekranda bu kullanılarak yapılır Ctrl+ Ahemen ardından Ctrl+ C. Bunlar arasında geçiş yapmak için Ca Cn ve Ca Cp tuşlarını kullanarak terminal oturumları arasında gidip gelin.
foo kendisi (vahşi olarak tahmin ediyorum, nadir ve varolmayan arasında bir yerde olduğunu tahmin yok), en üst pencerede çalışan ya da çıktısını gösteren bir şey olsa bile umursamıyor.
foozaten arka planda çalışır" ... sadece ... Hayır. Teknik olarak.
fooşimdi başladım, şimdi ne yapacağım?" Diye düşünmüyorum. Bu yanıtı (ya da diğer cevaplar) hissetmek soruya cevap kullanışlı değilse, senin oylama ayrıcalıkları egzersiz için teşvik edecek hem de sizsiniz doğru açıyı hissederken bir daha soruya cevap kendi cevap bırakarak yerine hakkında tartışmaya biri soru üzerine sol cevapların. Belki l0b0'ın cevabının daha iyi olduğunu düşünüyorsunuz, ancak cevabım OP'nin en azından istediklerini kabaca yapmanın bir yolunu sunuyor .
Bir uygulamayı ön plandan arka plana göndermek, hem terminalden hem de kabuktan işbirliği gerektirir. Terminal bunu tek başına yapamaz, çünkü kabuğun ön plan süreç grubunu ayarlaması gerekir. Kabuk tek başına yapamaz çünkü terminal tuşa basmayı işlemek zorundadır (kabuk ön planda değildir, bu yüzden tuşa basamaz).
+ Arka arkaya + tuşuna iki kez basabileceğim bir zsh konfigürasyonum var ; ilk basış işlemi askıya alır ve ikinci basış arka planda devam eder. Bunu bash'a nasıl taşıyacağımı bilmiyorum.CtrlZ
Tuş vuruşlarını enjekte etmenizi sağlayan bir terminal öykünücüsünde çalışıyorsanız, enjekte edebilirsiniz ^Zbg^M( ^kontrol karakterleri için gösterimi kullanarak ). Örneğin, bir X11 terminal emülatörüyle, 1234'ün terminal emülatörünün xdotool --window 1234 Ctrl_L+Z b g Returnpencere kimliği olduğu yerde çalıştırın . Ekran ile, ekran oturumunun adı ve pencere tanıtıcısı olan run screen -S foo -p 12 -X stuff $'\032bg\r'komutunu çalıştırın .foo12
kill -s SIGSTOP 1023 && kill -s SIGCONT 1023Yazmanız vaka için yeterince hızlı değilse , başka bir kabuktan çalıştırılır ve hedef PID olarak 1023 varsayar.
YASAL UYARI: Ruslan'ın muhtemelen bildiği gibi, bu dizi aslında işi çok hızlı bir şekilde yeniden başlatır, bashfark etmez.