जावा एप्लिकेशन को निष्पादित करते समय इसे दिए गए प्रक्रिया का नाम आमतौर पर java.exe
या javaw.exe
होता है। लेकिन मैं इसे अपने आवेदन के नाम से कैसे बुला सकता हूं?जावा एप्लिकेशन प्रक्रिया का नाम कैसे बदलें?
उत्तर
launch4j देखें, यह एक निष्पादन योग्य रैपर है जो आपको निष्पादन योग्य नाम असाइन करने की अनुमति देता है।
सुविधा 2013 में हटा दिया गया है: संस्करण में परिवर्तन 3.1.0-beta2 (20-08-2013) कस्टम प्रक्रिया नाम सुविधा है जो नहीं था निकाला गया नए विंडोज संस्करणों के साथ संगत। –
यह सच है कि launch4j अब आपको javaw.exe प्रक्रिया का नाम बदलने की अनुमति नहीं देता है। हालांकि, यदि आप stayalive = true विकल्प का उपयोग कर launch4j exe बनाते हैं, तो आपके कस्टम exe फ़ाइल के लिए प्रक्रिया का नाम javaw.exe प्रक्रिया के अतिरिक्त प्रक्रियाओं की सूची में रहेगा। इसलिए, यह उपयोगकर्ताओं को आपके कस्टम नाम के साथ प्रक्रिया को मार कर सही जावा प्रक्रिया को मारने का विकल्प देता है। – Enwired
हां, विंडोज 10 में परीक्षण किया गया। जब यह सच है, ऐप का नाम और उसका लोगो टास्क मैनेजर में होगा। लेकिन समस्या यह है कि अगर मैं अपने कस्टम नाम से एप्लिकेशन को मारता हूं, तो यह एप्लिकेशन को मार नहीं देता है। – insyncim64
ये विधियां कई जावा प्रक्रियाओं के साथ सर्वर के लिए उपयुक्त हैं, और जहां आपको सही जेवीएम (जेपीएस का उपयोग नहीं करने) का एक त्वरित तरीका चाहिए। अनुप्रयोगों के लिए, मुझे लगता है कि launch4j या अन्य रैपर जाने का तरीका है ।
यूनिक्स पर, आप (कम से कम पार्टी के लिए और संभवतः अन्य सभ्य गोले के लिए) एक खोल sript से लॉन्च कर रहे हैं, तो आप उपयोग कर सकते हैं:
exec -a goodname java ...
java
शुरू करने के लिए और 0 तर्क के रूप में "goodname" पारित ln -s /usr/bin/java /usr/local/bin/kallekula
: है, जो ps
में प्रक्रिया नाम के रूप में दिखाया जाएगा आदि
एक शायद बेहतर विकल्प (कि top
के लिए भी काम करने के लिए लगता है) एक सिमलिंक तैयार करना है।
खिड़कियों में शॉर्टकट चाल नहीं करेंगे, लेकिन विंडोज विस्टा/7 mklink
का उपयोग करके सिम्लिंक का समर्थन करता है। यह काम कर सकता है, लेकिन मैंने परीक्षण नहीं किया है। मुझे यकीन नहीं है कि exec -a
विंडोज पर सिग्विन बैश के साथ भी काम करता है।
यह मानते हुए कि क्या आप कर रहे हैं वास्तव में के बाद बाद में सही सही प्रक्रिया समाप्त करने के लिए एक रास्ता है, तो कोई वैकल्पिक समाधान यह है:
भागो ps -ef | grep java
और आपको लगता है कि इस तरह दिखता है एक सूची मिलना चाहिए:
mruser 7518 7505 4 11:37 pts/3 00:00:00 /usr/bin/java -classpath MRD3030_Linked.jar peralex.MyApp
फिर pkill -f peralex.MyApp
सही प्रक्रिया को मार देगा।
ध्यान दें कि केवल तभी काम करता है जब सिस्टम द्वारा/याद/कमांड लाइन को छोटा नहीं किया जाता है। लिनक्स और सोलारिस दोनों की कमांड लाइन की लंबाई पर सीमा होती है जिसे याद किया जाता है (अधिकतम स्वीकार्य से स्वतंत्र), और आप आसानी से लंबे कक्षा के साथ उस से अधिक हो जाते हैं। – ankon
निष्पादन के सभी स्वाद -ए ध्वज का समर्थन नहीं करते हैं। यदि आपका नहीं है, तो argv0 प्रोग्राम कुछ समान करता है।
यह विंडोज के लिए विशिष्ट है।
मुझे उसी मुद्दे का सामना करना पड़ रहा था जहां मुझे टास्ककिल का उपयोग करके विशिष्ट जावा प्रोग्राम को मारना है।जब मैं जावा कार्यक्रम चलाने के लिए, कार्यसूची छवि java.exe के रूप में स्थापित नाम के साथ एक ही कार्यक्रम दिखाया जा रहा था। लेकिन यह taskkill का उपयोग कर की हत्या/एफ java.exe इरादा है जो की आवश्यकता नहीं है के अलावा अन्य सभी जावा अनुप्रयोगों बंद हो जाएगा।
तो मैं का उपयोग कर एक ही जावा कार्यक्रम चलाने:
शुरुआत "MyProgramName" जावा जावा-कार्यक्रम ..
यहाँ आदेश प्रारंभ एक नई विंडो खोलने और साथ जावा कार्यक्रम चलेंगे विंडो का शीर्षक पर सेट किया गया MyProgramName।
अब kil को यह जावा-कार्यक्रम निम्नलिखित taskkill आदेश का उपयोग करें:
taskkill/फाई "MyProgramName"
आपका जावा प्रोग्राम केवल मौत हो जाएगी। बाकी अप्रभावित होगा।
आप एक LD_PRELOAD
शिम के साथ ऐसा कर सकते हैं: https://github.com/airlift/procname
शिम बस जब प्रक्रिया शुरू लिनक्स विशिष्ट prctl()
कॉल:
static void __attribute__ ((constructor)) procname_init()
{
prctl(PR_SET_NAME, "myname");
}
कॉल मुख्य थ्रेड पर होना होता है तो, जावा या यहां तक कि JVMTI एजेंट के साथ ऐसा करना संभव नहीं है, क्योंकि वे एक अलग थ्रेड पर होते हैं।
अच्छा समाधान! लेकिन केवल लिनक्स। –
- 1. java.exe/javaw.exe प्रक्रिया का नाम कैसे बदलें?
- 2. एप्लिकेशन का प्रक्रिया नाम कैसे प्राप्त करें?
- 3. जावा के प्रक्रिया नाम को कैसे बदलें/असाइन करें .jar
- 4. सी # में प्रक्रिया का नाम बदलें?
- 5. एक्सएमएल नोड नाम का नाम कैसे बदलें
- 6. PHPSESSID का नाम कैसे बदलें?
- 7. निर्देशिका का नाम कैसे बदलें?
- 8. फ़ाइल नाम का नाम बदलें
- 9. जावा एप्लिकेशन सर्वर का नाम और संस्करण
- 10. महीने का नाम बदलें
- 11. डेटाबेस नाम का नाम बदलें - mysql
- 12. बदलें प्रक्रिया प्राथमिकता
- 13. PostgreSQL - डेटाबेस का नाम बदलें
- 14. गिट विवाद (नाम बदलें/नाम बदलें)
- 15. एंड्रॉइड, फ़ाइल का नाम कैसे बदलें?
- 16. PHP - ऑब्जेक्ट प्रॉपर्टी का नाम कैसे बदलें?
- 17. Json.net गुणों का नाम बदलें
- 18. चींटी का उपयोग कर फ़ोल्डर का नाम कैसे बदलें?
- 19. गिट: फ़ाइल का नाम बदलें
- 20. तालिका शीर्षलेख का नाम बदलें
- 21. डिफ़ॉल्ट मार्ग का नाम बदलें
- 22. वर्तमान निष्पादन प्रक्रिया का नाम
- 23. जेएक्सबी: जावा कोड से एक्सएमएल एलिमेंट का नाम बदलें?
- 24. संग्रहित प्रक्रिया को बदलें
- 25. विदेशी कुंजी नाम कैसे बदलें?
- 26. जावा एप्लिकेशन
- 27. एंड्रॉइड एप्लिकेशन का नाम कैसे दें
- 28. पायथन मॉड्यूल नाम कैसे बदलें?
- 29. कैसे एक जावा प्रक्रिया
- 30. सबवर्सन इतिहास को तोड़ने के बिना जावा पैकेज का नाम कैसे बदलें?
संबंधित: [? बैश में argv0 बदलने के लिए तो आदेश ps में भिन्न नाम के साथ दिखाता है] (http://stackoverflow.com/questions/3251550/how-to-change-argv0-in-bash-so- आदेश-शो-अप-साथ-अलग नाम-इन-ps) – jfs