Temel olarak, bir Windows ortamında bir arka plan işlemi oluşturmam gerekmeden, Spawn a background process in Ruby ile aynı soruyu soruyorum! Ne yazık ki, araştırmam, Windows'un Ruby forks'ı desteklemediğini ortaya çıkardı (sadece kaşıklar. Rimshot!).Windows'ta Ruby'de bir arka plan işlemi mi yapıyorsunuz?
cevap
Win32Utils paketinin bir parçası olan win32 işlem kitaplığı, muhtemelen peşinde olduğunuz şeydir.
http://win32utils.rubyforge.org/
Win32-işlem kütüphane MS Windows için Process.create ve Process.fork yöntemlerini ekler. Ek olarak, bekleme, wait2, waitpid ve waitpid2 yöntemlerinin farklı uygulamalarını sağlar. Process.create yöntemi, çeşitli farklı yapılandırma seçenekleri kullanarak yerel MS Windows süreçleri oluşturmanıza olanak tanır.
Process.fork uygulaması deneysel olarak kabul edilmeli ve üretim kodunda kullanılmamalıdır.
Kurulum: gem install Win32-işlem
'Process.fork', 0.7.0'dan beri win32-işleminden kaldırılmıştır (bkz. [Github sayfası] (https://github.com/djberg96/win32-process)), 'Process.spawn' kullanabilirsiniz. rogerdpack –
Charles cevabı büyüktür.
system('start dir')
Bu, bazı durumlarda istenmeyen bir süreç ile birlikte bir cmd penceresini getirir: Ben de örnek gibi dir
komutu çalıştırmak için ben Windows kullanıcısının start
kullanabileceği keşfetti. Bu tolere edilebilir, ancak, o zaman Win32-işlem bağımlılık gerekmez :)
önerisi için lütfen – stack1
@ stack1 kodunuz için tam olarak çalışan bir örnek ekleyin. Şimdi kod örneğim gerçek bir komut, dir 'içeriyor. Komut istemiyle çözülebildiği sürece, hangi komutu kullanırsanız kullanın. –
1.9.x en Process.spawn iyi iş gibi görünüyor, Rimshot" için http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processes
+1 son bölümüne bakın! " – rogerdpack