تا آنجایی که میدونم ProcessBuilder دقیقا برای همین منظور(ایجاد و اجرای یک پروسه جدید) طراحی شده است که در نسخه 1.5 به بعد معرفی شده است و قابلیتهایی مانند تعریف متغیرهای محیطی برای subprocess ها و یا تغییر فولدر کاری(working directory) در آن دیده شده است، در مقابل Runtime و دستور getRuntime مشخصات محیط اجرای برنامه جاری را در اختیار برنامه نویس قرار میدهد که اجرای دستور(دستورات) بوسیله exec در آن بعنوان یک قابلیت(بدردبخور!) در آن لحاظ شده است.