우리는 두 개의 .net 응용 프로그램이 있다고 상상해보십시오. 응용 프로그램 "A"는 System.Diagnostics.Process
클래스를 사용하여 응용 프로그램 "B"를 시작합니다. 그런 다음 "A"는 방법 Process.Kill
에 의해 "B"를 죽이고 싶어합니다. "B"가 어떻게 누군가가 그를 죽이고 있다고 판단 할 수 있습니까?응용 프로그램을 죽이는 방법을 결정하는 방법
답변
응용 프로그램이 죽는 것에 대응할 수 없다고 생각합니다 ... 나는 작업 관리자를 사용할 때처럼 OS 수준에서 더 많이 작동한다고 생각합니다.
Process.Kill()을 사용하는 것이이 컨텍스트에서 올바르지 않을 수 있습니다. 해결하려는 문제에 대한 자세한 정보를 제공 할 수 있습니까? 어쩌면
그래, "프로세스가 종료되지 못하도록 막을 수는 없다." 나는 우리가 그것을 결정할 기회가 없다고 생각한다. http://msdn.microsoft.com/en-us/library/ms686714(VS.85).aspx – alga
당신이 그것을 프로세스 B의 코드 내에서이 방법을 시도해 볼 수도 있습니다 ...
// We're in Process B.... System.Diagnostics.Process proc = System.Diagnostics.Process.GetCurrentProcess(); proc.EnableRaisingEvents = true; proc.Exited += new EventHandler(proc_Exited); static void proc_Exited(object sender, EventArgs e) { // Handle here that we got killed... }나는이 작동 할 것이라고 자신있게 말할 수 없습니다
... A가에 '죽여'보내는 OS의 본질 프로세스는 구현에 따라 다르므로 프로세스 B가 완전히 종료되었다는 것을 아는 데있어 확실한 확실한 방법은 없습니다. 프로세스 B가 관리되는 프로세스인지 아니면 관리되지 않는 프로세스인지 명시 적으로 언급하지 않았으므로 실제로는 태그가 '.net'이므로 WinForm 응용 프로그램 인 경우 winForms 내에 Closing
이벤트가있는 것으로 가정합니다. 아래 그림과 같이 해당 이벤트 핸들러의 주장에 이유가 또는 ApplicationDomain에 인스턴스를 사용합니다 :이 도움이
AppDomain thisDom = AppDomain.CurrentDomain; thisDom.ProcessExit += new EventHandler(thisDom_ProcessExit); // static void thisDom_ProcessExit(object sender, EventArgs e) { // Handle the situation here where the AppDomain is going to be unloaded and killed! }
희망, 안부, 톰.
- 1. 응용 프로그램에서 클래스를 만드는 방법을 결정하는 방법 ..?
- 2. 안드로이드에서 응용 프로그램을 죽이는 것
- 3. SharePoint 내에서 응용 프로그램을 개발해야하는지 결정하는 방법
- 4. .NET 콘솔 응용 프로그램을 죽이는 TaskKill
- 5. C# 바이오스 날짜 변경 방법을 결정하는 방법
- 6. vb.net에서 프로세스를 죽이는 방법
- 7. 의도로 다른 응용 프로그램 호출하기 실행중인 응용 프로그램을 죽이는 것
- 8. 우리의 응용 프로그램을 해제하는 방법을
- 9. 플래시 비디오 재생, 초를로드하는 방법을 결정하는 방법?
- 10. 스핑크스, 색인을 업데이트하는 방법을 결정하는 방법?
- 11. Windows 서비스 내부에서 시작하는 방법을 결정하는 방법?
- 12. 웹 응용 프로그램을 배포 할 하드웨어를 결정하는 방법
- 13. 버튼 누르기에서 앱을 죽이는 방법
- 14. 창을 죽이는 방법?
- 15. 서비스에서 활동을 죽이는 방법
- 16. 프로세스를 죽이는 방법?
- 17. 다른 사용자의 세션을 죽이는 방법
- 18. 응용 프로그램을 종료하는 방법을 알 수 있습니다.
- 19. 아이폰에서 응용 프로그램을 설치하는 방법을 자동으로
- 20. Windows에서 응용 프로그램을 시작하는 방법을 알고 계십니까?
- 21. ajax 요청을 죽이는 방법
- 22. C# 스레드를 죽이는 방법?
- 23. 수은 저장소를 죽이는 방법?
- 24. 시스템 함수 호출에서 백그라운드 프로세스를 죽이는 방법
- 25. VB.Net 응용 프로그램을 분할할지 여부를 결정하는 방법과 분할하는 방법은 무엇입니까?
- 26. iPhone SDK : 내 앱을 죽이는 방법?
- 27. 응용 프로그램을 닫는 방법?
- 28. 레일 세션 저장에는 어떤 방법을 사용해야합니까? 결정하는 방법?
- 29. 응용 프로그램을 올바르게 종료하는 방법
- 30. Java 응용 프로그램에서 프로세스를 죽이는 문제
복제본 http://stackoverflow.com/questions/1372250/how-to-detect-a-kill-process-event –