জাভা 9 ৷ প্রসেসহ্যান্ডেল যোগ করা হয়েছে প্রসেস API এর ইন্টারফেস প্রক্রিয়া ক্লাস উন্নত করতে. ProcessHandle ইন্টারফেসের একটি উদাহরণ একটি স্থানীয় প্রক্রিয়া চিহ্নিত করে যা আমাদের প্রক্রিয়া স্থিতি জিজ্ঞাসা করতে দেয় এবং প্রক্রিয়া পরিচালনা, এবং ProcessHandle.Info PID পাওয়ার প্রয়োজনের কারণে আমাদের স্থানীয় কোড ব্যবহার করতে দেয় একটি স্থানীয় প্রক্রিয়ার।
প্রসেস বিল্ডার ক্লাস আলাদা অপারেটিং সিস্টেম প্রক্রিয়া তৈরি করতে ব্যবহার করা যেতে পারে। নীচের উদাহরণে, আমরা "নোটপ্যাড" -এর একটি প্রক্রিয়া তৈরি করতে পারি প্রসেসবিল্ডার ব্যবহার করে অ্যাপ্লিকেশন ক্লাস।
উদাহরণ
import java.time.ZoneId; import java.util.stream.Stream; import java.util.stream.Collectors; import java.io.IOException; public class ProcessBuilderTest { public static void main(String args[]) throws IOException { ProcessBuilder pb = new ProcessBuilder("notepad.exe"); String np = "Not Present"; Process p = pb.start(); ProcessHandle.Info info = p.info(); System.out.printf("Process ID : %s%n", p.pid()); System.out.printf("Command name : %s%n", info.command().orElse(np)); System.out.printf("Command line : %s%n", info.commandLine().orElse(np)); System.out.printf("Start time: %s%n", info.startInstant().map(i -> i.atZone(ZoneId.systemDefault()).toLocalDateTime().toString()).orElse(np)); System.out.printf("Arguments : %s%n", info.arguments().map(a -> Stream.of(a).collect( Collectors.joining(" "))).orElse(np)); System.out.printf("User : %s%n", info.user().orElse(np)); } }
উপরের উদাহরণ নিচের মত নোটপ্যাড অ্যাপ্লিকেশন চালু করে
আউটপুট
Process ID : 3728 Command name : C:\WINDOWS\System32\notepad.exe Command line : Not Present Start time: 2020-04-20T18:06:30.378 Arguments : Not Present User : Tutorialspoint\User