मैंने tomcat सर्वर के लिए विंडोज़ सर्विस बनाई है और यह अच्छी तरह से चल रही है लेकिन अब मैं इसे डिलीट किए बिना सर्विस का नाम बदलना चाहता हूं।
सेवा नाम बदलने के लिए कोई cmd \ GUI चरण है?
मैंने tomcat सर्वर के लिए विंडोज़ सर्विस बनाई है और यह अच्छी तरह से चल रही है लेकिन अब मैं इसे डिलीट किए बिना सर्विस का नाम बदलना चाहता हूं।
सेवा नाम बदलने के लिए कोई cmd \ GUI चरण है?
जवाबों:
@ bfhd का उत्तर तब काम करेगा जब आप केवल प्रदर्शन नाम बदलना चाहते हैं (जो कि सूची में दिखाया गया है Services.msc
, लेकिन "वास्तविक" सेवा का नाम नहीं है (जो रजिस्ट्री कुंजी का नाम है जिसमें सेवा की जानकारी है, और जिसका उपयोग किया गया है) APIs जैसे OpenService
)। इस MSDN लेख के रिमार्क्स अनुभाग में सेवा नामों के बारे में बात की गई है।
दुर्भाग्य से, सेवा का नाम बदलने का कोई आधिकारिक तरीका नहीं है। हालांकि, यह संभव है, अगर आपको किसी कारण से नए नाम के तहत इसे फिर से स्थापित करने के बजाय पूरी तरह से सेवा का नाम बदलना चाहिए । निम्न कार्य करें:
regedit.exe
(रजिस्ट्री संपादक)।HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
अपनी सेवा के नाम के साथ उपकुंजी पर नेविगेट करें और खोजें।Services.exe
, सेवा नियंत्रण प्रबंधक को होस्ट करने वाली प्रक्रिया, जब तक आप नहीं करते तब तक परिवर्तन नहीं दिखेगा; नाम बदलकर प्रक्रिया शुरू करने का प्रयास (या अन्यथा इसके साथ बातचीत करना, वास्तव में) विफल हो जाएगा।मैं इस काम का कोई वादा नहीं करता। यह शायद कोशिश करने लायक है, हालांकि, अगर किसी कारण से एक नए नाम के तहत सेवा को फिर से स्थापित करना अस्वीकार्य है।
यदि आपको यह प्रोग्रामेटिक रूप से करना चाहिए, तो एक फ़ंक्शन मौजूद हो सकता है जो RegRenameKey
आपके लिए ऊपर चौथा चरण कर सकता है। मुझे तनाव हो सकता है क्योंकि, जहां तक मैं बता सकता हूं, यह कार्य पूरी तरह से अनौपचारिक है; यह MSDN में नहीं है और इसके बारे में बहुत कम जानकारी है। केवल एक चीज जो मुझे मिली, विंडोज हेडर के अलावा (जिसमें प्रोटोटाइप है, और यह इंगित करता है कि यह केवल विस्टा पर है - NT6.0 - और नया), एक Sysinternals फ़ोरम पोस्ट है , जो इंगित करता है कि यह NT syscall (undocumented भी कहता है) )। फ़ंक्शन प्रोटोटाइप, से WinReg.h
, है
WINADVAPI
LSTATUS
APIENTRY
RegRenameKey(
_In_ HKEY hKey,
_In_opt_ LPCWSTR lpSubKeyName,
_In_ LPCWSTR lpNewKeyName
);
सेवाओं को बदलने के लिए विंडोज कमांड लाइन प्रोग्राम "sc" है।
यहाँ Microsoft संदर्भ पृष्ठ है: https://technet.microsoft.com/en-us/library/bb490995.aspx
आप जिस सेवा को चला सकते हैं उसका प्रदर्शन नाम बदलने के लिए:
sc config "Old service name" displayname= "New service name"
निष्पादन योग्य बदलने के लिए आप चला सकते हैं:
sc config "Service name" binpath= "C:\path\to\executable\here"
उन दोनों आदेशों के लिए, सुनिश्चित करें कि आपके पास = और नए नाम के बीच एक स्थान है (यानी displayname= "New Name"
, नहीं । displayname="New Name"
)
[oldservicename]w.exe
आपके ड्राइव पर होगा । उस नाम को बदलना मत भूलिए