Ruby komut dosyasım, bir kabuk komutu çalıştırıyor ve çıktıyı buradan ayrıştırıyor. Ancak, komutun ilk çalıştırıldığı ve çıktının bir diziye kaydedildiği görülüyor. Çıktı çizgilerine, basılı oldukları gibi gerçek zamanlı olarak erişmek istiyorum. Konuyla uğraştım ama işe yaramadı. Baska öneri?Ruby, çıktı olarak kabuk komutlarından çıktılara erişebilir mi?
12
A
cevap
21
borular borularını arıyorsunuz. Daha sonra, çağrı yöntemleri/işlevleri sistemi/kabuk komutları çalıştırmak için
# This example runs the netstat command via a pipe
# and processes the data in Ruby as it come back
pipe = IO.popen("netstat 3")
while (line = pipe.gets)
print line
print "and"
end
0
, senin tercüman ve aynı işlemi bitirmek için bekler çalıştırmak için başka bir işlem olarak çoğaltılır size çıktıyı verir: İşte bir örnek.
İş parçacığı kullansanız bile, tek yapmanız gereken, komutunuzun çalışması sırasında programınızın askıda kalmasına izin vermemekle birlikte, çıktı bitene kadar çıktınız.
Sanırım bunu borularla gerçekleştirebilirsiniz, ancak nasıl yapacağımı bilmiyorum.
@Marcel bunu başardı.
İlgili konular
- 1. monit, başlangıç programı komutlarından
- 2. Kabuk beklemede değişkeni komuttan çıktı almak istiyorum
- 3. USB cihazları doğrudan donanımlara erişebilir mi?
- 4. Bir Web API'si ActionFilterAttribute modele erişebilir mi?
- 5. ADB/Shell Komutlarından Öykünme Gücü Durdurma
- 6. Ruby kütüphanesi/mücevher mi?
- 7. Ruby dize sekizlik mi?
- 8. Sistem havuzuna (global olarak) veya proje satıcısına/paketine (yerel olarak) ruby gems yüklemem gerekir mi?
- 9. Dizgede belirli satırları silinsin mi? Kabuk
- 10. Vim'ın kabuk olarak PowerShell ayarlama: Komut Windows üzerinde GVIM içinde kabuk olarak PowerShell kurmaya çalışıyorum doğru
- 11. Kabuk, etkileşimli olarak --command seçeneği
- 12. Bir kabuk komut dosyasında bir çıktı dosyasına satır sonu ekleme
- 13. Medya kılavuz sınıfı Twitter önyüklemesinden mi çıktı?
- 14. Çıkışı Unix'teki katran komutlarından nasıl kapatabilirim?
- 15. Hata bildirimi django yönetim komutlarından nasıl zorlanır?
- 16. export kabuk komutumda çalışmaz
- 17. Hala aktif olarak tutulan Ruby oyun çerçeveleri mi?
- 18. Perl'de çıktı olarak günlüğe kaydetme
- 19. Baskı Python sürümü çıktı olarak
- 20. SHELL Çıktı alfabetik olarak sıralanıyor
- 21. Ruby: modüller ve süper mi?
- 22. İç sınıftaki bir yöntem, bir üst sınıf yöntemine erişebilir mi?
- 23. Gömülü bir Flash nesnesi, ana belgenin DOM'sine erişebilir mi?
- 24. Model yöneticisi modellerinin Meta özniteliğine (Meta.unique_together`) erişebilir mi?
- 25. Çalışan bir C programı kendi sembol tablosuna erişebilir mi?
- 26. İki farklı denetleyici, mvc'de tek bir görünüme erişebilir mi?
- 27. Çıktı nbsp; Razor'da değişkenler üzerinden mi?
- 28. Servlet çıktı akışını temizlemem gerekir mi?
- 29. nasıl Ruby olarak
- 30. Her parçadaki R kodu sonuçlarına dayalı olarak örgü metni dinamik olarak çıktı verebilir mi?
Mükemmel cevap, çok teşekkürler! – Ciryon
Çıktı aslında komut tamamlanana kadar arabelleğe alınır, sonra gerçek zamanlılığı önemsemezseniz çıktıyı görürsünüz. – user180574