2012-03-01 6 views
0

winform 응용 프로그램의 백그라운드에서 실행되는 매우 중요한 프로세스가 있습니다.응용 프로그램 프로세스의 강제 종료 방지

어떻게하면 사용자가 내 winform 응용 프로그램 프로세스를 종료하지 못하게 할 수 있습니까?

나는에 대한 사용자 방지하려면 :

  • 작업 관리자
  • 종료의 과정을 내 응용 프로그램 종료
  • 다른 소프트웨어와 관련된 방법의 과정 전에 컴퓨터 프로세스를 죽이려고 (물론 나는 그의 CPU의 전원 버튼을 누르는 것을 막을 수 없다)

내 코드는 C#, 프레임 워크 4, VS2010 Pro로 작성되었습니다. 사전에

감사합니다.

+1

사용자가 자신의 컴퓨터를 소유하고 있으므로 사용자가 응용 프로그램을 죽이면 안되는 이유는 무엇입니까 ?? –

+0

@BasileStarynkevitch _ 여전히 실행중인 필수 프로세스가 있기 때문에 (강제로 종료하면 데이터 부정확성이 발생할 수 있음) _, 프로세스가 종료되면 닫을 수 있습니다.게다가 회사는 사용자가 아닌 컴퓨터를 소유하고 있습니다. –

+0

그러면 회사의 시스템 관리자는 항상 프로세스를 중지 할 수 있으며 합법적 인 관심을 가질 수 있습니다. 그것은 기술적 인 것보다 사회적 이슈 (사용자와 시스템 관리자에게 그것을 피하도록 가르친다)가된다. 어떤 경우에는 컴퓨터를 재부팅해야합니다 .... 그리고 전원도 내려갈 수 있습니다 ... –

답변

2

'absolute'이 프로세스를 계속 실행해야한다고 말하면, 프로세스의 중요한 부분을 winforms 응용 프로그램과 분리하고이 부분을 사용자 컴퓨터에서 회사 서버로 옮기는 것이 좋습니다.
이 서버에는 서비스을 작성하여 중요한 작업을 항상 유지하고 원하는 시간에 실행할 수 있습니다.
이러한 종류의 '절대적'요구 사항은 이중화 디스크가있는 서버 시스템, ups 단위 및 (특히)에 정보 시스템 관리자에게만 적용될 수 있습니다.

+0

+1 정보 시스템 관리자를 찾을 수없는 경우, 정상적인 시스템 관리자 중 하나를 사용해야합니다. –

1

당신은 절대적으로 이런 일을 보장 할 수는 없지만 당신은 당신이에 의해 원하는 몇 가지 얻을 수 있습니다 만 Vista 또는 프로세스에 보안 수준을 할당 이후 버전의 Windows에서 실행)

1

2) 프로세스를 관리자 권한으로 실행하면 가장 높은 보안 수준이됩니다.

3) UAC (사용자 계정 컨트롤)가 켜져 있는지 확인하십시오.

4) 그는 아무것도 실행되지 않을 수 있도록)를

5) 그룹 정책을 통해 (사용자 계정에 로그온 한 작업 관리자에 대한 액세스를 해제 관리자로 상승하는 로그인 한 사용자에 대한 방법을 제공하지 프로세스를 중지 할 수있는 권한이 있습니다.

6) Shutdown script을 사용하여 실행중인 프로세스를 확인하고 시스템 종료를 방지하십시오.

2

기본적으로 사용자가 프로세스를 죽이는 것을 막을 수 없습니다 (Windows 용 쉘인 explorer.exe도 종료 할 수 있습니다).

따라서 사용자 작업 또는 충돌에 대해 복원력이있는 방식으로 응용 프로그램을 작성하는 것이 좋습니다. 귀하의 경우 해당 프로세스에서 재개 가능한 작업을 갖는 것이 현명 할 것입니다.

관련 문제