none
iis 서비스 종료 명령어 실행 가능한가요?? RRS feed

  • 질문

  • iis의 특정 서비스를 올려둔 후 사용중 해당 서비스와 관련한 dll들을 변경해 줘야 할 일이 생겼는데

    iis의 서비스가 실행중일 때는 파일을 덮어쓰기 못하게 하네요...

    서비스를 종료후 파일을 덮어쓰고 다시 서비스 시작을 시켜주려고 하는데

    사용자가 서비스 이용 시 cmd명령어를 통해 종료 후 덮어쓰기 해주고 다시 시작하게 해줬는데 명령어가

    제대로 실행이 안된건지 iis서비스를 새로고침할 시에는 내려갔다 다시 시작한걸로 보이는데 덮어쓰기는 안되어 있네요...

    혹시 확실하게 하는 방법이 있을까요?? 문제점이 뭔지 알고 싶습니다...

    2021년 1월 15일 금요일 오전 12:32

모든 응답

  • "사용자"가 서버 관리자를 의미하는 건가요?

    어쨌든, 다음의 순서로 업데이트하면 "당연히" 정상적으로 반영이 되어야 합니다.

    C:\temp> iisreset /stop

    ...파일복사...

    C:\temp> iisreset /start

    참고로, iisreset의 경우에는 IIS의 전체 서비스가 내려갔다 올라가는 것이므로, 특정 웹 사이트의 바이너리만 업데이트하고 싶을 때는 다음의 글을 참고하세요.

    How to Start or Stop an Application Pool IIS 7 | HostAdvice
    https://hostadvice.com/how-to/how-to-start-or-stop-an-application-pool-iis-7/

    • 답변으로 표시됨 cyc31041 2021년 1월 15일 금요일 오전 6:59
    • 답변으로 표시 취소됨 cyc31041 2021년 1월 15일 금요일 오전 6:59
    2021년 1월 15일 금요일 오전 5:14
  • 말씀하신 순서대로 진행하였습니다.

    그런데 사무실 내부 pc에서 실행시 문제없이 진행하였지만

    외부에 있는 다른 pc에서 실행 시 iis가 내려간 상태에서 멈춰버렸습니다.

    멈춘 후 수동으로 재시작시키려고 했을 시에도 에러메세지를 띄우면서 재시작이 안되서

    재부팅을 해주니 다시 시작이 되긴했는데 위와 같은 멈춤 현상이 계속 발생해서요...

    2021년 1월 15일 금요일 오전 6:08
  • 그러니까, 외부에 있는 다른 PC에 사용자가 로그인 해서, iisreset /stop과 iisreset /start를 수행하려는데, 후자의 명령어 실행 시 오류가 발생한다는 건가요?
    2021년 1월 15일 금요일 오전 9:10
  • 외부, 내부 pc 둘다 안되네요..

    현재 상황이 WCF를 통해서 외부,내부에서 서비스 호출 시 따로 만들어둔 프로그램을 통해서

    iis 종료 후 파일 덮어쓰기를 수행하고 iis를 다시 실행시키고 있습니다.

    사용하려는 iis 서비스에 사용자가 안 붙어있을 시에는 정상적으로 잘 되지만

    사용자가 사용중일 경우 문제가 생겨서 위와 같은 방법으로 바꿔봤는데 안되네요...

    iisreset /stop을 한 순간부터 iis가 이상해져서 내려가지도 올라가지도 않네요... 에러메세지만 띄우고요...

    혹시 사용중인 iis서비스 dll들을 덮어쓰기 하는 방법은 없나요??

    2021년 1월 18일 월요일 오전 12:10
  • iisreset은 강제 리셋입니다. 따라서 사용자가 붙어 있어도 대상 w3wp.exe가 지정된 시간 내에 종료하지 않으면 강제로 종료합니다.

    혹시 그 안 된다는 오류 메시지가 뭔가요?

    그리고 그런 식이라면, iisreset 후 부가적으로 taskkill.exe를 이용해 실행 중인 w3wp.exe를 그냥 강제로 종료해도 무방합니다.

    --------------------

    참고로, 사용 중인 dll들은 덮어쓰기 할 수 없습니다. 우회적으로 기존 dll들의 이름을 rename 시키는 것은 가능하므로 그렇게 해서 덮어 쓰기 효과를 볼 수는 있습니다.

    2021년 1월 18일 월요일 오전 12:28