2012-08-16 13 views

cevap

25

, ancak dönmek için süreç beklemez Kernel.spawn(), düşünebilirsiniz: Eğer spawn() veya el fork() ve system() kullanın, belgelere göre

pid = spawn("./test.sh") 
Process.detach(pid) 

Not olduğunu, Çıkmadan önce PID'yi ve Process.detach() veya Process.wait()'u almalısınız. Standart hata ve çıkış yönlendirme İlişkin

, o spawn() ile kolay:

pid = spawn("./test.sh", :out => "test.out", :err => "test.err") 
Process.detach(pid) 
+0

Güzel, ayrıca pencerelerde çalışıyor! test etmek için yazılan birden fazla işlemle, bazı satırlar – peter

+0

@peter Evet olsa da, birden çok işlemden aynı anda arabelleğe yazılan dosyalar aynı satırda yazılır. Bu soruna bir takım çözümler var, ancak en basit olan her işlemden ayrı bir dosyaya yazmak. Aksi takdirde, çıktıyı çoğaltmak için ayrı bir işlem isteyebilirsiniz. –

8

bu deneyin:

Process.fork { system "./test.sh" } 

Eğer diş kullanmak hangi için pencerelerin üzerinde çalışmak olmaz.

TanzeebKhalili cevabı eserleri @
İlgili konular