2011-02-21 5 views
0

내 프로그램은 소규모 실험실 용 분산 소프트웨어입니다. 그것은 자바로 작성되었지만 낮에는 컴퓨터가 사용되기 때문에 저녁에 수동으로 다시 시작해야합니다. 나는 서비스에서 컴퓨터를 시작할 때마다 그것을 시작하여 문제를 해결할 것입니다하지만 난 감지하는 메커니즘이 필요합니다 1) 사용자 입력 (마우스, 키보드 등) 2) 사용자 로그온Java에서 CPU를 청소하는 방법?

사용자 입력 감지를 자바에서는 불가능합니다. 이런 식의 프레임 워크가 있습니까?

+1

데몬으로 실행하고 원하는 경우 시작하고 중지하도록 예약 했습니까? –

+0

여하튼 - 다른 프로그램으로 향한 사용자 입력을 감지하는 것이 가능하지 않을 것입니다 - 그것은 중요한 보안 구멍이 될 것입니다. 시간이 초과 된 서비스 (예 : 20:00에서 04:00 사이)는 받아 들일 수 있습니까? – extraneon

+1

주간에도 최소한의 우선 순위로 실행 상태를 유지할 수 있습니까? – Erik

답변

2

Java에서 사용자 입력을 감지하면 이 가능하지만 표준 기술은 가능하지 않습니다. aTunes의 훌륭한 예를 고려하면, 당신은 당신의 플랫폼에 따라 사용하여 작업을 수행 할 수 있습니다

윈도우에

리눅스에

  • JXGrabKey, 나는 클라이언트의 기본 능력을 사용 OSes를 사용하여 문제를보다 잘 처리 할 수 ​​있습니다. 우선 Java 프로세스의 우선 순위를 낮추십시오. 이렇게하면 사용자가 차단하지 않고 오래 동안 계속 실행됩니다. 나는 또한 CPU 부하가 주어진 목표를 초과 할 때이 프로그램을 강제로 멈추게 할 것이다. 이것은 this previous question이 설명하는대로 JMX를 사용하여 달성 할 수 있습니다.

  • +0

    나는 CPU 부하 방식에 완전히 동의한다. 결국 키를 누르지 않아도 컴퓨터가 중요한 작업을 수행하고있을 수 있습니다. – biziclop