2011-08-15 20 views
8

için bir alternatif var mı? Runtime.getRuntime().exec()'dan daha iyi, daha yeni, daha güvenli, daha hızlı bir şey varsa merak ediyorum.Runtime.getRuntime(). Exec()

Linux'taki uygulamamdan başka bir işlem çalıştırmak istiyorum ve bu nasıl yapılacağını bildiğim tek yol. Bir alternatife sahip olmak güzel olurdu.

+1

Bu yol bir şekilde (özellikle) yetersiz mi? Sadece yinelenen işlevsellik soruyormuşsun gibi geliyor. – kylc

+0

java.lang.Process yeni değil. Bazı amaçlar için daha iyi olabilir. – bmargulies

+1

getRuntime.exec ile yanlış bir şey olduğunu söyleyemiyorum sadece onun hakkında java 1.3 yıl önce öğrendim, bu bir kedi cilt için birden fazla yol varsa nasıl ve merak ediyorum tek yolu, thats herşey. – LoudNPossiblyWrong

cevap

13

ProcessBuilder nasıl olur?

Biraz daha:

Java 1.5 sunulan, işlem ortamında daha fazla kontrol elde izin verir - (java POV) giriş akışına hata akışını yönlendirmek izin çalışma dizinini ayarlamak ve birkaç şey daha. Oracle's site itibaren

:

ProcessBuilder - Yeni ProcessBuilder sınıf Runtime.exec yaptığından daha subprocesses çağırmak için daha uygun bir yol sağlar. Özellikle, 'da, ProcessBuilder, bir değiştirilmiş işlem ortamı (bir üst öğenin işlem ortamına dayalı, ancak birkaç değişiklikle) ile bir alt işlem başlatmayı kolaylaştırır.

+0

... kaşlarımı büyütüyor, çenemi dikkatlice çiziyorum. – LoudNPossiblyWrong

+0

@LoudNPossiblyWrong - yeterince adil :) düzenleme konusuna bakın. – MByD

+5

Soru sorabilirm ... ProcessBuilder ve Runtime.getRuntime() API'sini kullanmadan Java kodundan komutları yürütmenin bir yolu var mı? – SJunejo