IT story

파일이 더 이상 존재하지 않으면 Windows 서비스를 어떻게 제거합니까?

hot-time 2020. 2. 9. 19:23
반응형

파일이 더 이상 존재하지 않으면 Windows 서비스를 어떻게 제거합니까?


서비스 파일이 더 이상 존재하지 않으면 .NET Windows 서비스를 어떻게 제거합니까?

InstallUtil을 사용하여 .NET Windows 서비스를 설치했습니다. 그 후 파일을 삭제했지만 실행을 잊었습니다.

 InstallUtil /u

먼저. 따라서 서비스는 여전히 서비스 MMC에 나열되어 있습니다.

레지스트리에 들어가야합니까? 아니면 더 좋은 방법이 있습니까?


최소한 세 가지 옵션이 있습니다. 사용 환경 설정 순서대로 제시했습니다.

방법 1- 리소스 키트에 포함 된 SC 도구 (Sc.exe)를 사용할 수 있습니다 . (Windows 7/8에 포함)

명령 프롬프트를 열고 입력

sc delete <service-name>

도구 도움말 스 니펫은 다음과 같습니다.

DESCRIPTION:
        SC is a command line program used for communicating with the
        NT Service Controller and services.

delete----------Deletes a service (from the registry).

방법 2 -delserv 사용

delserv 명령 행 유틸리티를 다운로드 하여 사용하십시오. 이 도구는 Windows 2000 용으로 개발 된 레거시 도구입니다. 현재 Window XP 상자에서는 방법 1에 설명 된 sc로 대체되었습니다.

방법 3- 레지스트리 항목을 수동으로 삭제 (Windows 7/8에서는이 역효과가 나타납니다)

Windows 서비스는 다음 레지스트리 키 아래에 등록되어 있습니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

참조 키에서 서비스 이름을 가진 하위 키를 검색하고 삭제하십시오. 서비스 목록에서 서비스를 완전히 제거하려면 다시 시작해야 할 수도 있습니다.


명령 프롬프트에서 Windows "sc.exe"유틸리티를 사용하십시오. 다음과 같이 실행하십시오.

sc delete <service-name>

Windows 8에서 "sc delete"사용에 대한 참고 사항 :

1) 높은 권한으로 CMD 창을 엽니 다. [Windows Key-X는 옵션이있는 메뉴를 불러옵니다; "명령 프롬프트 (관리자)"를 선택하십시오.]
2) 서비스 목록에서 괄호 이름을 사용하십시오 . 예를 들어 서비스에서 "Google Update (gupdate)"를 읽을 때 "sc delete gupdate"를 사용했습니다.]


어떤 사람들 sc delete은 대답으로 언급 합니다. 이것이 내가 한 방법이지만 <service-name>매개 변수 를 찾는 데 시간이 걸렸습니다 .

이 명령 sc query type= service(형식에 따라 다르며 "서비스"가 필요하기 전에 공백)은 설치된 Windows 서비스 목록을 sc delete <service-name>명령 과 함께 사용할 정규화 된 이름으로 완성 합니다.

목록이 너무 길어서 출력을 텍스트 파일 (예 :)로 파이프 >> C:\test.txt한 다음 검색하는 것을 고려할 수 있습니다 .

이것은 명령 SERVICE_NAME과 함께 사용하는 것 sc delete <service-name>입니다.


레지스트리를 통해 Windows 서비스 제거

올바른 경로를 알고 있으면 레지스트리에서 서비스를 제거하는 것이 매우 쉽습니다. 내가 한 방법은 다음과 같습니다.

  1. 실행 을 Regedit 또는 Regedt32를

  2. 레지스트리 항목 "HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services"로 이동하십시오.

  3. 삭제하려는 서비스를 찾아서 삭제하십시오. 키를보고 서비스가 사용중인 파일을 확인하고 필요한 경우 파일을 삭제할 수도 있습니다.

명령 창을 통해 Windows 서비스 삭제

또는 명령 프롬프트를 사용하고 다음 명령을 사용하여 서비스를 삭제할 수도 있습니다.

sc 삭제

다음 명령을 사용하여 서비스를 만들 수도 있습니다

sc "MorganTechService"binpath = "C : \ Program Files \ MorganTechSPace \ myservice.exe"생성

참고 : 서비스 관리자에서 목록을 업데이트하려면 시스템을 재부팅해야 할 수도 있습니다.


도구를 사용하려면 Process Hacker를 사용할 수 있습니다

서비스 작성 양식 :

프로세스 해커 생성 서비스

서비스의 상황에 맞는 메뉴 :

프로세스 해커 삭제 서비스

Process Hacker가 Windows 고유의 Taskmgr.exe보다 Windows 프로세스 및 서비스를 관리하는 더 편리한 도구라는 것을 알았습니다. 특히 작업 관리자에서 서비스에 전혀 액세스 할 수없는 Windows XP의 경우.


Tomcat 서비스를 다시 설치해야했기 때문에 먼저 제거했습니다. 이것은 나를 위해 일했다 :

Start a command prompt window using run as administrator

sc query type= service >t.txt

(t.txt 파일을 편집하고 목록을 검색하여 Tomcat 서비스를 찾으십시오. Tomcat7이라고합니다)

sc delete Tomcat7

그러나 Tomcat 서비스가 실행되고 있지 않기 때문에 query 명령이 처음에는 작동하지 않았습니다. 실행중인 서비스 만 나열하는 것 같습니다. 서비스를 시작하고 query 명령을 다시 실행해야했습니다.


원본 Service .InstallLog 및 .InstallState 파일이 여전히 폴더에 있으면 실행 파일을 다시 설치하여 파일을 바꾸고 InstallUtil / u를 사용한 다음 프로그램을 제거하십시오. 약간 복잡하지만 특정 인스턴스에서 저를 위해 일했습니다.


당신은 실행 시도 할 수 Autoruns를 편집에 손으로 레지스트리있는에서 당신을 저장할 것이다. 필요한 권한이 없을 때 특히 유용합니다.


1 단계 : 서비스가있는 디렉토리로 이동

명령 : cd c : \ xxx \ yyy \ service

2 단계 : 아래 명령을 입력하십시오

명령 : C : \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ InstallUtil.exe service.exe \ u

여기 service.exe는 서비스 exe이며 \ u는 서비스를 제거합니다. "제거가 완료되었습니다"라는 메시지가 나타납니다.

서비스를 설치하려면 위 명령에서 \ u를 제거하여 서비스를 설치하십시오.


을 (를) 실행하더라도 sc_delete서비스의 레지스트리에 남아있는 항목이있을 수 있으므로 서비스를 다시 설치하면 손상된 레지스트리 항목 세트 (일치하지 않음)가 발생합니다. 우리가 한 일은 regedit이 남은 항목을 손으로 제거하는 것이 었습니다 .

참고 : sc_delete 후에도 ShipmunkService가 계속 표시됩니다!

그런 다음 다시 설치할 수 있으며 서비스가 올바르게 실행됩니다. 모두에게 행운을 빕니다.


명령 프롬프트로 Windows 서비스를 제거 하고이 명령을 작성하십시오.

cd\                                                                   

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(or version in which you developed your service)                                           

installutil c:\\xxx.exe(physical path of your service) -d

-Windows+r cmd를 엽니 다.

-sc YourSeviceName 이 코드는 서비스를 제거합니다.

-Uninstal "YourService Path" 이 코드는 서비스를 제거합니다.

참고 URL : https://stackoverflow.com/questions/197876/how-do-i-uninstall-a-windows-service-if-the-files-do-not-exist-anymore



반응형