Как завершить выполнение программы java

Содержание

Мое основное поле .Net, но в последнее время у меня есть что-то делать с Java. Мне нужно создать утилиту оболочки на Java, которая может запускаться в фоновом режиме, считывая несколько записей базы данных после указанной продолжительности и выполняя дальнейшую обработку. Это своего рода планировщик. Теперь у меня мало проблем:
Как сделать эту работу службой. Я хочу выполнить его через оболочку script, и утилита должна начать работать. Конечно, управление должно вернуться к вызову script.
Во-вторых, в конечном итоге я могу остановить этот процесс. Как достичь этого?
Я понимаю, что это основной вопрос, но я действительно не знаю, с чего начать и какие варианты лучше для меня.
Любая помощь/совет пожалуйста?

спросил(а) 2010-06-10T14:59:00+04:00 12 лет, 12 месяцев назад
добавить комментарий
пожаловаться

ps ux
kill pid

Или вам лучше обеспечить остановку script, которая сигнализирует приложение, которое делает System.exit(0)

ответил(а) 2010-06-10T15:08:00+04:00 12 лет, 12 месяцев назад
добавить комментарий
пожаловаться

Выполнение программы процессором

Я предполагаю, что вы играете в свою java-программу с помощью окна Linux/Unix.
Чтобы запустить приложение в качестве демона, вы можете попробовать

nohup java YourJavaClass убить/остановить». проверьте addShutdownHook (Thread hook)
Или sun.misc.SignalHandler

ответил(а) 2010-06-10T18:33:00+04:00 12 лет, 12 месяцев назад
добавить комментарий
пожаловаться

Я бы пошел на запуск программы, используя планировщик или службу. Однако, если вы хотите использовать файл bat и делать это программно, я изложил возможный подход ниже:
В вашей программе Java вы можете программно получить PID, а затем записать его в файл:

Затем вы можете записать файл остановки .bat, который будет убивать запущенную программу в окнах. Вы можете сделать что-то вроде:

setlocal
IF EXIST app.pid FOR /F %%i in (‘type app.pid’) do TASKKILL /F /PID %%i
IF EXIST app.pid DEL app.pid
endlocal

Конечно, app.pid — это файл, написанный вышеприведенным методом Java.
Я не уверен, как вы могли бы написать script, который запускает java-программу, и возвратит управление при завершении. Мне было бы интересно узнать, есть ли у кого-нибудь решение для этого.

ответил(а) 2010-06-10T17:52:00+04:00 12 лет, 12 месяцев назад
добавить комментарий
пожаловаться

Вы не указали платформу. Если в Windows вы должны изучить интеграцию с Service Control для создания службы Windows. http://en.wikipedia.org/wiki/Windows_service. После того, как вы применили сервисные крючки, можно запустить и остановить службу через GUI службы управления или с помощью синтаксиса net stop MyService из командной строки.

ответил(а) 2010-06-10T15:15:00+04:00 12 лет, 12 месяцев назад
добавить комментарий
пожаловаться
Как я понимаю, вы хотите что-то вроде этого:

if ( System.in.avaliable() > 0 ) in = new BufferedReader( new InputStreamReader( System.in );

Программирование на Java для начинающих #22 (Synchronized Code block)


String InLine = in.readLine();
.
>
ответил(а) 2010-06-10T19:49:00+04:00 12 лет, 12 месяцев назад
добавить комментарий
пожаловаться

Еще в рубрике

Как я могу закончить бесконечный цикл с операциями сокета внутри после завершения текущей итерации?
Нужна помощь в режиме видео с ассемблером
attachInterupt(), для RISING и FALLING отдельно в arduino
Существует ли вариант APC, который прерывает целевой поток, не дожидаясь ожидаемого ожидания?

Другие вопросы

В чем разница между ловушкой и прерыванием?

Можно ли выполнить Hard и Soft-IRQ для одного и того же сетевого пакета на разных процессорных ядрах?

передача сигнала, зависящего от времени, к функции обработчика и понимание setitimer, getitimer правильно в c

  1. Вопросы
  2. Interrupt
  3. Как остановить выполнение программы Java из командной строки?
Читайте также:
Какие мультфильмы можно посмотреть в этой программе

Источник: progi.pro

Руководство по java.lang.Process API

В этом руководстве мы возьмемan in-depth look at the Process API.

Для более подробного изучения того, как использоватьProcess для выполнения команды оболочки, мы можем обратиться к нашему предыдущему руководствуhere.

Процесс, к которому он относится, является исполняемым приложением. КлассProcess предоставляет методы для взаимодействия с этими процессами, включая извлечение вывода, выполнение ввода, мониторинг жизненного цикла, проверку статуса выхода и его уничтожение (уничтожение).

2. Использование классаProcess для компиляции и запуска Java-программы

Давайте посмотрим на пример компиляции и запуска другой программы Java с помощью APIProcess:

Таким образом, приложения для выполнения кода Java в существующем коде Java практически безграничны.

3. Создание процесса

Наше Java-приложение может вызывать любое приложение, которое работает в нашей компьютерной системе, в зависимости от ограничений операционной системы.

Поэтому мы можем выполнять приложения. Давайте посмотрим, какие варианты использования мы можем запустить с помощью Process API.

КлассProcessBuilder позволяет нам создавать подпроцессы в нашем приложении.

Давайте посмотрим на демонстрацию открытия приложения Блокнот для Windows:

ProcessBuilder builder = new ProcessBuilder(«notepad.exe»); Process process = builder.start();

4. Уничтожающий процесс

Process также предоставляет нам методы для уничтожения подпроцессов или процессов. Although, how the application is killed is platform-dependent.

Давайте посмотрим на возможные варианты использования.

4.1. Уничтожение процесса по ссылке

Допустим, мы используем ОС Windows и хотим создать приложение «Блокнот» и уничтожить его.

Как и раньше, мы можем создать экземпляр приложения «Блокнот», используя классProcessBuilder и методstart().

Затем мы можем вызвать методdestroy() для нашего объектаProcess.

4.2. Уничтожение процесса по идентификатору

Как завершить программу в Java

Чтобы закрыть Java-программу, нам нужно рассмотреть, какое это Java-приложение?, потому что завершение Java-приложения варьируется между обычной базовой Java-программой и приложением с графическим интерфейсом. Как правило, все Java-программы завершаются автоматически, как только все пользовательские потоки, созданные программой, завершают свое выполнение, включая основной поток.

1. Введение

JVM не ожидает потока демона, поэтому, как только завершится последний пользовательский поток, программа Java завершится. Если вы хотите закрыть или завершить свое Java-приложение до этого, единственным вариантом является использование System.exit(int status) или Runtime.getRuntime().exit() .

Это приводит к тому, что JVM отказывается от всех потоков и немедленно завершает работу. Крючки отключения вызываются, чтобы разрешить некоторую очистку в последнюю минуту, прежде чем JVM фактически завершит работу. System.exit() также принимает параметр состояния int, где ненулевое значение обозначает ненормальное выполнение и результат, возвращаемый командой java вызывающей стороне. В этом руководстве по Java мы увидим пример закрытия как программы Java, так и приложения Java Swing.
Swing — это набор инструментов для виджетов с графическим интерфейсом для Java. Он является частью Oracle Java Foundation Classes (JFC) — API для предоставления графического пользовательского интерфейса (GUI) для программ Java. Swing был разработан, чтобы предоставить более сложный набор компонентов графического интерфейса, чем более ранний набор инструментов Abstract Window Toolkit (AWT). JAVA предоставляет богатый набор библиотек для создания графического пользовательского интерфейса независимо от платформы.

2. Свинг Java

В отличие от AWT, Java Swing предоставляет независимые от платформы и легкие компоненты. Пакет javax.swing предоставляет классы для Java Swing API

2.1 Архитектура MVC

Архитектура Swing API следует свободно основанной архитектуре MVC следующим образом.

  • Модель представляет данные компонента.
  • Вид представляет собой визуальное представление данных компонента.
  • Контроллер принимает данные от пользователя в представлении и отражает изменения в данных Компонента.
  • Компонент Swing имеет модель как отдельный элемент, а части представления и контроллера объединены в элементы пользовательского интерфейса. Таким образом, Swing имеет подключаемую архитектуру внешнего вида.

Каждый пользовательский интерфейс учитывает следующие три основных аспекта:

  • Элементы пользовательского интерфейса . Это основные визуальные элементы, которые пользователь в конечном итоге видит и с которыми взаимодействует. GWT предоставляет огромный список широко используемых и распространенных элементов, варьирующихся от простых до сложных.
  • Макеты. Они определяют, как элементы пользовательского интерфейса должны быть организованы на экране, и обеспечивают окончательный внешний вид графического пользовательского интерфейса.
  • Поведение. Это события, которые происходят, когда пользователь взаимодействует с элементами пользовательского интерфейса.

2.2 Функции Swing

  • Расширенные элементы управления. Swing предоставляет широкий набор расширенных элементов управления, таких как Tree, TabbedPane, ползунок, палитра цветов, элементы управления таблицами.
  • Широкие возможности настройки — элементы управления Swing можно очень легко настроить, поскольку внешний вид не зависит от внутреннего представления.
  • Подключаемый внешний вид — графический интерфейс на основе SWING Внешний вид и поведение приложения можно изменить во время выполнения на основе доступных значений.
Читайте также:
Что такое программа unwanted

2.3 Настройка

Необходимое условие
Этот пример разработан для Eclipse, поэтому в системе должна быть установлена ​​совместимая Eclipse IDE.
Нам также необходимо установить инструмент WindowBuilder в Eclipse IDE для простоты работы.

3. Пример закрытия Java-программы с помощью System.exit()

Вот пример кода закрытия Java-программы с помощью вызова метода System.exit(). Помните, что ненулевой аргумент метода exit(), такой как exit(1), означает аварийное завершение приложения Java.

Эта Java-программа сначала создает метод Thread в основном методе и запускает его, который печатает «Пользовательский поток запущен», а затем основной поток приостанавливается на 200 миллисекунд. До тех пор другой пользовательский поток работает и печатает, но как только основной поток просыпается, он завершает программу, вызывая метод exit() класса java.lang.System.

3.2 Как закрыть приложение Java Swing из программы

Приложение Swing в основном использует JFrame в качестве контейнера верхнего уровня, который предоставляет два варианта закрытия приложения Swing GUI из кода. Первый параметр по умолчанию — EXIT_ON_CLOSE, который завершает программу Java Swing GUI, когда вы нажимаете кнопку закрытия в окне JFrame. Другим параметром является DISPOSE_ON_CLOSE, который завершает работу JVM, если последнее отображаемое окно удаляется.

Разница между EXIT_ON_CLOSE и DISPOSE_ON_CLOSE заключается в том, что если у вас запущен не демонический поток, он не будет закрыт в случае DISPOSE_ON_CLOSE , в то время как EXIT_ON_CLOSE завершает работу JVM, даже если пользовательский поток запущен. Запустите приведенный ниже пример, раскомментировав DISPOSE_ON_CLOSE в своей среде IDE, и вы увидите, что пользовательский поток работает даже после нажатия кнопки закрытия. Вот полный пример кода закрытия приложения Swing в Java.

3.3 важных момента для закрытия или прекращения работы Java-приложения

  • System.exit() фактически вызывает метод Runtime.getRuntime().exit().
  • Ненулевой аргумент функции exit() означает аварийное завершение программы Java.
  • Перехватчики завершения работы выполняются до фактического завершения работы Java-программы.
  • Существует два варианта закрытия приложения Java Swing: EXIT_ON_CLOSE и DISPOSE_ON_CLOSE .
  • DISPOSE_ON_CLOSE не завершает работу JVM, если запущен какой-либо пользовательский поток.
  • Вы также можете реализовать прослушиватель окон для реализации механизма закрытия с помощью System.exit() в приложении Swing.

Это все о том, как закрыть или завершить программу Java. Мы также видели пример закрытия приложения Swing в Java и разницу между EXIT_ON_CLOSE и DISPOSE_ON_CLOSE .

Но В этом посте мы увидим, как завершить программу в Java.

Вы можете использовать System.exit(0) для завершения программы в java.

Использование System.exit() для завершения Java-программы

Вы можете использовать метод exit() класса System для завершения Java-программы.

System.exit() заставляет виртуальную машину Java выйти и завершить текущий процесс. Вы можете вызвать System.exit() в любом месте программы, что приведет к завершению работы JVM.

Поскольку System.exit() является статическим методом класса System, компилятор не знает, что он будет делать, поэтому не выдает ошибку недостижимого кода.

Если мы передаем 0 методу System.exit(), это означает, что завершение произошло успешно, и мы передаем это значение в операционную систему.

  • exit(0): указывает на успешное завершение Java-программы.
  • выход(-1) или выход(1) или выход(любое ненулевое значение): указывает на неудачное завершение программы Java.

Пример демонстрации метода System.exit()

Как видите, после вызова метода System.exit() после вызова метода System.exit() он не печатался.

Как завершить Java-программу оператором if в Java

Вы можете выйти из программы в Java на основе условия оператора if.
Вот пример.

Как видите, программа завершилась, как только элемент массива стал больше или равен 40 во время итерации. Он не продолжил цикл и не напечатал конец цикла здесь после вызова метода System.exit().

Использование метода return to end current

Если вы просто хотите выйти из текущего метода, вы можете использовать оператор return.

оператор return останавливает выполнение текущего метода и возвращает его вызывающему методу. Это зарезервированное ключевое слово, которое уже известно компилятору.

return может завершить java-программу, если это последняя инструкция внутри основного выполняемого метода класса. Если вы поместите код после оператора return, компилятор выдаст ошибку о недостижимом коде.

Язык программирования Java — это мощный язык программирования. Если вы программист или разработчик, Java является одним из важных и обязательных знаний, которые у вас есть. Честно говоря, вам нужно знать много java. Итак, после серии статей о Java следует статья о том, как завершить программу на Java и как ее завершить.

Читайте также:
Ошибка при открытии или инициализации устройства программа завершает свою работу

Давайте узнаем об этом вместе с ArrowHiTech в этой статье ниже!

System.exit() для завершения программы Java

Для тех, кто не знает, как завершить программу на Java, есть много способов сделать это. Во-первых, мы можем использовать метод exit() класса System, честно говоря, это самый популярный способ остановить программу в Java. System.exit() завершает виртуальную машину Java (JVM), которая завершает текущую программу, которую мы запускаем.

Чтобы полностью понять это, ниже приведен простой пример завершения программы на Java, использующей метод System.exit(). Однако обратите внимание, что он принимает целое число, которое является кодом состояния. Затем мы передаем 0 в функцию exit(), что указывает на то, что завершение происходит успешно без каких-либо ошибок. Ненулевой статус, такой как 1 и -1, указывает компилятору завершить программу с какой-либо ошибкой или сообщением.

Кроме того, вы можете видеть, что в приведенном ниже примере на выходе печатается только оператор 1. Это программа завершается после ее выполнения, а оператор 2 никогда не может быть выполнен.

Как завершить программу на Java оператором if в Java

Один из других способов остановить программу Java на основе условия оператора if. Затем следуйте примеру ниже.

Итак, как вы видите, программа на Java остановилась, как только элемент массива стал больше или равен 40 во время итерации. Он не продолжил цикл и не напечатал конец цикла здесь после вызова метода System.exit().

Как завершить Java-программу с помощью return

Упомянем еще один способ остановить программу Java, вы можете использовать оператор return.

Операция Retuern останавливает выполнение текущего метода и возвращает его вызывающему методу. Затем это зарезервированное ключевое слово, которое компилятор уже знает. Более того, return может завершить java-программу, если это последний оператор внутри основного метода выполняемого класса. Поэтому, если вы поместите код после оператора return, компилятор выдаст ошибку о недостижимом коде.

Пример 1

открытый класс JavaHelloWorld

public static void main(String[] args)

System.out.println(«Перед вызовом Syste.exit()»);

System.out.println(«После вызова Syste.exit()»);

В целом, предшествующая Java-программа выдаст ошибку компиляции о недостижимом коде в строке номер 6.

Пример 2: Как завершить программу в Java

Допустим, вы хотите написать метод isPrime для проверки, является ли число простым. Конечно, вы можете вызвать метод isPrime() из основного метода и вернуть значение true или false в зависимости от того, является число простым или нет.

17 Prime: true
равно 27 Prime: false
равно 79 Prime: true

Подведение итогов

В общем, это все о том, как завершить программу в java. Кроме того, мы надеемся, что этот пост окажется для вас полезным. Однако, если у вас остались вопросы о Java или о том, как завершить программу на Java, свяжитесь с нами. ArrowHitech стала одной из ведущих ИТ-аутсорсинговых компаний во Вьетнаме. Мы опытные профессионалы в области электронной коммерции, разработки мобильных приложений, разработки веб-сайтов CMS, а также консультанты по продажам и разработке программного обеспечения.

Twitter
Facebook

Краткое руководство по выходу из программы в java. Используйте System.exit() или вернитесь, чтобы закончить и завершить программы Java.

1. Обзор

В этом руководстве мы узнаем, сколько способов завершить программу Java и как завершить выполнение программы в Java.

2. Завершить и завершить программу с помощью System.exit()

Используйте метод System.exit(), чтобы завершить выполнение программы Java. Метод exit() относится к классу System, а метод exit() является статическим.

Метод System.exit() дает JVM инструкции завершить текущую запущенную программу с точки зрения метода exit().

Из приведенного выше кода мы ожидаем, что оператор 3 будет напечатан на консоли из трех операторов System.out.println(). Но он напечатал только первые два.

Потому что System.exit() находится после второго sysout. Когда даже среда выполнения Java находит метод exit(), она просто останавливает выполнение программы в любой момент времени.

0 указывает на выход jvm из программы с успешным завершением без ошибок. Это изящное завершение.

но если вы передадите любое ненулевое значение, это приведет к печати с сообщением об ошибке. Но из версий java 8 или более поздних версий он не показывает никаких сообщений об ошибках, даже если передано ненулевое значение.

3. Конечная программа Java с использованием оператора return

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru