Java 9 जोड़ा गया प्रोसेस हैंडल प्रक्रिया API . के लिए इंटरफ़ेस प्रक्रिया वर्ग को बढ़ाने के लिए। ProcessHandle इंटरफ़ेस का एक उदाहरण एक स्थानीय प्रक्रिया की पहचान करता है जो हमें स्थिति प्रक्रिया को क्वेरी करने की अनुमति देता है और प्रक्रियाओं का प्रबंधन, और ProcessHandle.Info PID . प्राप्त करने की आवश्यकता के कारण हमें स्थानीय कोड का उपयोग करने की अनुमति देता है एक स्थानीय प्रक्रिया का।
प्रोसेसबिल्डर कक्षा का उपयोग अलग ऑपरेटिंग सिस्टम प्रक्रियाओं को बनाने के लिए किया जा सकता है। नीचे दिए गए उदाहरण में, हम "नोटपैड" . की एक प्रक्रिया बना सकते हैं ProcessBuilder . का उपयोग करके एप्लिकेशन कक्षा।
उदाहरण
आयात करें IOException { प्रोसेसबिल्डर pb =नया प्रोसेसबिल्डर ("notepad.exe "); स्ट्रिंग एनपी ="मौजूद नहीं"; प्रक्रिया p =pb.शुरू करें (); ProcessHandle.Info जानकारी =पी.जानकारी (); System.out.printf ("प्रोसेस आईडी:%s%n", p.pid() ); System.out.printf ("कमांड का नाम:%s%n", जानकारी।कमांड () .orElse(np)); System.out.printf ("कमांड लाइन:%s%n", जानकारी।कमांडलाइन () .orElse(np)); System.out.printf("प्रारंभ समय:%s%n", info.startInstant().map (i -> i.एटज़ोन (ZoneId.systemDefault() ).toLocalDateTime() .toString ())। या अन्य (एनपी)); System.out.printf ("तर्क:%s%n", info.arguments(). मानचित्र (ए -> स्ट्रीम.ऑफ़ (ए).एकत्र करें (कलेक्टर। ज्वाइनिंग (" ")))। या अन्य (एनपी)); System.out.printf ("उपयोगकर्ता:%s%n", info.user() .orElse(np)); }}उपरोक्त उदाहरण नीचे दिए गए नोटपैड एप्लिकेशन को लॉन्च करता है
आउटपुट
प्रक्रिया आईडी:3728कमांड का नाम:C:\WINDOWS\System32\notepad.exeकमांड लाइन:पेश नहींप्रारंभ समय:2020-04-20T18:06:30.378तर्क:प्रस्तुत नहींउपयोगकर्ता:Tutorialspoint\User