Solved

How to kill a Java program with an infinite loop?

Posted on 2008-10-02
7
1,294 Views
Last Modified: 2013-12-29
I have a Java class called TestThread.java. Below is the code. I have a Windows batch file that will run the class file. When I run the batch file, "Hello world!" will be printed out every 30 seconds.

I then modified the java file to print out "Goodbye everyone!" instead of "Hello world!", compiled it, and then replaced the original class file with the new one. Now, in addition to "Hello world!" being printed out every 30 seconds, "Goodbye everyone!" is also printed out every 30 seconds.

How do I kill the Java program that keeps printing out "Hello world!"?

This is a simplified explanation of my actual program that doesn't really print out anything and is called from the Windows Scheduled Task, so "CTRL+C" is not an option.
public class TestThread {

	public static void main(String[] args) {

		try {

			while (true) {

				System.out.println("Hello world!");

				Thread.sleep(30000);

			}

		} catch (Exception e) {

			e.printStackTrace();

		}

	}

}

Open in new window

0
Comment
Question by:killdurst
  • 3
  • 3
7 Comments
 
LVL 6

Expert Comment

by:wwnosal
Comment Utility
Alt + Ctrl + Del

In task Manager  select this process and press End process. (It might be listed as java.exe)
0
 
LVL 1

Author Comment

by:killdurst
Comment Utility
Thanks. That works on my PC, but on the application server, I can't find java.exe in the process list. Is there another way to see the list of running process and then kill the ones I don't want?
0
 
LVL 6

Expert Comment

by:wwnosal
Comment Utility
On which platform this application server is running. Is it windows? Unix? Linux?

0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 1

Author Comment

by:killdurst
Comment Utility
Windows.
0
 
LVL 6

Accepted Solution

by:
wwnosal earned 500 total points
Comment Utility
tasklist.exe to list processes

taskkill.exe /PID pid_read_from_previous_command
0
 
LVL 1

Author Comment

by:killdurst
Comment Utility
Thanks man. Going back to work in around 9 hours time. Gonna try that out. Will get back to you soon if everything works out alright.
0
 
LVL 9

Expert Comment

by:mbodewes
Comment Utility
If you see more java or javaw commands, you might want to try and use the new jmonitor (GUI) or jps (command line) tools included in the latest JDK's. This will actually tell you what the java or javaw is doing, and you can kill the correct process using the process ID (PID) using the task manager. Always try <ctrl><break> first for command line applications, because sending a signal to an application allows it to exit more gracefully.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now