Çatal hakkında okudum ve anladığım kadarıyla süreç klonlandı ama hangi süreç? Senaryonun kendisi veya senaryoyu başlatan süreç? ÖrneğinBir işlem çatallandığında ne olur?
:
benim makinede rtorrent çalıştırıyorum ve bir sel tamamlandığında, bir komut dosyası buna karşı çalıştırmak. Bu komut, web'den veri alır, böylece tamamlanması birkaç saniye sürer. Bu süre zarfında, rüşvet sürecim donmuş durumda. ben amaçlanan tam olarak arka planda çalışır iken Ben de CLI bu komut dosyasını çalıştırırsanız aşağıdaki
my $pid = fork();
if ($pid == 0) { blah blah blah; exit 0; }
kullanarak komut çatal yapılmış, bir saniye içinde geri kabuk gelir. Ancak, rTorrent’ten çalıştırdığımda, eskisinden daha da yavaş görünüyor. Yani tam olarak ne çatal olmuştu? Rtorrent süreci kendini klonladı ve benim betiğimde mi çalıştı, yoksa senaryonun kendisi mi klonlandı? Umarım bu mantıklı gelir.
Lütfen bir çalışan perl snippet'i yayınlayarak başlayın. –
strace'de rTorrent çalıştırmayı deneyin ve komut dosyanız çalışırken ne engellendiğini görün. Bu bir ipucu verebilir. Torun süreci üzerinde beklemiş olabileceğini düşünüyordum, fakat geleneksel sistem çağrılarını kullanarak davranışın aslında mümkün olmadığı anlaşılıyor. – jdizzle