Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
1

Выключение компютера после закрытия приложения

13.07.2016, 15:38. Показов 991. Ответов 13

Author24 — интернет-сервис помощи студентам
Всем привет, не могу решить задание. Есть кнопочка, на кнопочке обработчик. По нажатию создается процесс потом закрываем приложение. Процесс выполняет проверку, открыто наше приложение или нет. Если закрыто - выключаем компютер.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 @Override
    public void actionPerformed(ActionEvent event) {
        ProcessBuilder builder = new ProcessBuilder("script/close_system.sh");
        
        builder.redirectErrorStream(true);
        
        try {
            Process process = builder.start();
                        
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        System.exit(0);
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2016, 15:38
Ответы с готовыми решениями:

Выключение компьютера после закрытия chrome.exe
Доброго времени суток! В общем нужен .bat скрипт который бы выключал компьютер в случае если не...

Выключение компютера на C#
Как реализировать выключение(спящий, ждущий) режим компютера с помощю програмы. А лудше если б в...

Перезагрузка и выключение компютера
Приветствую Всех! Помогите плиз. Поставлена мне такая задача но в инете не нашел ни чего подобного...

Не удается программное выключение компютера в С#...
В С++ Логофф или выключение проходит без проблемм (ExitWindowsEx()). Но такой функции не вижу в...

13
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
13.07.2016, 17:40 2
Kotik_leapold, вопрос зададите или его угадать надо?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
13.07.2016, 17:44 3
желательно было бы указать для какой операционки нужен стрипт
а еще лучше - задать этот вопрос в соответствующем разделе
0
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
14.07.2016, 09:14  [ТС] 4
ОС Linux, bash script.

Дело в том что после System.exit(0) процесс скрипта убивается и компютер не выключается.
0
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.07.2016, 09:26 5
Цитата Сообщение от Kotik_leapold Посмотреть сообщение
Дело в том что после System.exit(0) процесс скрипта убивается и компютер не выключается.
потому что вы запускаете дочерний процесс.

Попробуйте так

Runtime.getRuntime().exec()

если не поможет, то смотрите на zt-exec
0
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
14.07.2016, 09:34  [ТС] 6
Пробовал через

Java
1
Runtime.getRuntime().exec()
все равно процесс скрипта убивается.

Скажите как отделить дочерный процесс от родительского в java.
0
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.07.2016, 09:41 7
Цитата Сообщение от Kotik_leapold Посмотреть сообщение
Скажите как отделить дочерный процесс от родительского в java.
Как насчет погуглить?
0
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
14.07.2016, 09:59  [ТС] 8
Все равно не работает

Java
1
Runtime.getRuntime().exec("script/close_system.sh &")
Добавлено через 4 минуты
если взять как предлагаю в статьи.
0
Эксперт Java
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.07.2016, 10:00 9
Kotik_leapold, думаю вопрос такого рода лучше задать в разделе линуксов.
Ну и ещё погуглить.
0
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
14.07.2016, 11:28  [ТС] 10
Если попробовать вот так

Java
1
Runtime.getRuntime().exec("/bin/bash script/close_system.sh &")
Все равно не работает
0
1 / 1 / 2
Регистрация: 06.05.2014
Сообщений: 17
14.07.2016, 13:34 11
Цитата Сообщение от Kotik_leapold Посмотреть сообщение
Если попробовать вот так

Java
1
Runtime.getRuntime().exec("/bin/bash script/close_system.sh &")
Все равно не работает
Как-то так
Java
1
2
3
4
5
6
7
8
9
10
        Runtime.getRuntime().addShutdownHook(new Thread() {
            @Override
            public void run() {
                try {
                    Runtime.getRuntime().exec("halt");
                } catch (Throwable t) {
                    t.printStackTrace();
                }
            }
        });
И процессов дополнительных не нужно
1
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
15.07.2016, 07:53  [ТС] 12
Спасибо очень tyumencev2004 погло. ОС закрывается но в статьи сказано

http://www.javaportal.ru/java/... ejava.html

что java перед закрытие выполнит хук-потоки а потом закроется. Выходит ОС сама закроет JVM.

Добавлено через 17 часов 22 минуты
Не корректно закрывается JVM. ОС просто убывает JVM и после перегрузки ОС просит проверить память ОС.
0
Pablito
15.07.2016, 12:18
  #13

Не по теме:

ну если тебе это ТАК ПОМОГЛО, то мог и и нажать кнопочку "Спасибо" на сообщении от tyumencev2004

0
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
15.07.2016, 13:43  [ТС] 14
Спасибо большое, но рухнула JVM. Не могу востановить работу, JVM запускается с ошибками.
0
15.07.2016, 13:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2016, 13:43
Помогаю со студенческими работами здесь

Каким образом можно сделать выключение компютера С++
Появилась идея сделать интересную программу. Всё уже продумал кроме выключения ПК. То есть каким...

Как после автоматического запуска приложения, после его закрытия вернуться к приложению которое было открыто раньше?
Путано описал, вот попроще: 1) Запущено приложение. 2) Автоматически запускается другое...

Сохранение данных приложения после закрытия
как сохранить данные приложения после закрытие и как сортировать лист по имени если имена...

Автозапуск приложения после его закрытия
Всем привет. Хочу сделать автозапуск приложения после его закрытия или сворачивания через некоторое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru