В Windows можно завершить работу машины через Java-программу изначально (JNA), вызывая функцию ExitWindowsEx в Windows API. Я ищу что-то подобное в linux. Я знаю, что это можно сделать, выполняя команды, но тогда я не могу полагаться на разборчивый текст, читаемый человеком.Как завершать/перезагружать Linux-машину программно без использования команд (время выполнения)
Это IPC (DBus) единственный способ сделать это или можно загрузить некоторую библиотеку изначально и вызвать метод выключения изначально. Если есть более простой способ сделать это, пожалуйста, дайте мне знать.
Using JNA or similar to shutdown and restart computer in linux and mac
Я посмотрел на этот вопрос ранее, но это не дает ответа на вопрос, как сделать это программно.
Посмотрите на BusyBox [ 'halt.c'] (https://git.busybox.net/busybox/tree/init/halt.c) –
Можете ли вы использовать SSH? Это, вероятно, лучший человеко-читаемый синтаксический анализ, который вы получите. Это даст вам все до момента выключения. Существует много разновидностей: [Python] (http://stackoverflow.com/questions/3586106/perform-commands-over-ssh-with-python), [Java] (http://stackoverflow.com/questions/995944/ ssh-library-for-java), [C#] (http://stackoverflow.com/questions/11169396/c-sharp-send-a-simple-ssh-command) – ThisClark
@ThisClark Я пытаюсь автоматизировать управление моими серверами , Программа существует, поэтому мне не нужно входить в систему. Я вышлю команды через java-сокеты, чтобы выключить машину. У меня есть настольное приложение, которое подключается к сокету, через который я отправляю команды. – vignesh