2011-10-03 2 views
0

종료, 강제 종료, 다시 시작 및 강제로 다시 시작하는 Java에서 함수를 작성하려고합니다. Windows, Linux 및 Mac에서 작동해야합니다.JNA 등을 사용하여 Linux 및 Mac에서 컴퓨터 종료 및 다시 시작

Windows는 문제가 없지만 sudo 권한으로 인해 Linux에서 종료 명령을 실행할 수 없습니다. 따라서 JNA를 사용하여 컴퓨터를 종료하는 것을 생각하고있었습니다. (Windows에서이 작업을 수행하기 위해 JNA를 사용할 수 있음을 알고 있습니다.) 그러나 Linux 또는 Mac의 경우 온라인으로 예제를 찾을 수 없습니다.

아무도 도와 줄 수 있습니까? 대단히 감사하겠습니다!

JNA를 통해서가 아니더라도이 작업을 수행 할 수있는 한 많은 도움이됩니다.

답변

1

단순히 Java를 사용하여 시스템 보호를 무시할 수 있다면 큰 보안 결함 일 것입니다! Windows에서이 작업을 수행 할 수있어서 놀랍습니다.

어쨌든 종료/재시작 권한이있는 특정 그룹에 프로그램을 설정하기위한 관리자 액세스 권한이있는 경우에만 수행 할 수 있습니다. 그렇지 않으면, 당신은 그렇게 할 수 없습니다.

이 JVM에 이러한 권한을 직접 부여 할 수 있다고 생각하지만 다른 java 프로그램이 종료를 시도하면 위험 할 수 있습니다.

+0

그래, Windows에서는 Runtime.exec()를 통해 shutdown 명령을 사용할 수 있습니다. 현재 내가 리눅스를 위해하고있는 일은 관리자 권한이있는 계정으로 직접 종료하고 다시 시작하는 것입니다. 이게 유일한 방법인가요? – Angeline

+0

JVM 권한을 부여하거나 암호가없는 계정으로 sudo/su를 사용하는 것과 마찬가지로 안전하지 않습니다. 작동하는 한) – wormsparty

+0

/etc/sudoers 파일을 편집하고 암호없이'/ sbin/shutdown'을 실행할 수있는 권한을 부여하십시오. – wormsparty

관련 문제