Solved

End a Process.

Posted on 2004-08-07
12
794 Views
Last Modified: 2008-02-01
Hi everyone,
is it possible to end a process in Java? I know how to start one, however, ending one doesn't seem the most easiest task.
Is there a simple method to do this? Or will it involve JNI? :o\

Thanks!
[r.D]
0
Comment
Question by:DrWarezz
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
  • +3
12 Comments
 
LVL 7

Expert Comment

by:JugglerW
ID: 11743508
Not possible as far as I know without JNI
0
 
LVL 9

Author Comment

by:DrWarezz
ID: 11743533
Hmm.. I was dreading that answer. lol :o\
Okay; do you JugglerW (or anyone else) no how to do this using JNI then??).

Thanks,
[r.D]
0
 
LVL 2

Expert Comment

by:timbauer
ID: 11743605
Check out the exec methods in java.lang.Runtime
Process proc = Runtime.getRuntime().exec(...)
proc.destroy(); //rudely ends process (maps to TerminateProcess on win32)

If you want fine grain control, you will probably want JNI, but this might work for you too.

Regards,
- Tim
0
The Ultimate Checklist to Optimize Your Website

Websites are getting bigger and complicated by the day. Video, images, custom fonts are all great for showcasing your product/service. But the price to pay in terms of reduced page load times and ultimately, decreased sales, can lead to some difficult decisions about what to cut.

 
LVL 2

Expert Comment

by:timbauer
ID: 11743623
Sorry, I didn't correctly read the question, but some of what I mentioned is still
applicable.

The crippling disadvantage of this is that you had to be the one to start the process
so you have a Process object.

When you get into JNI land, check out TerminateProcess (for win32),
If you are on Unix you can send a signal via:
kill(pid, SIGTERM);
   or
kill(pid, SIGKILL);
0
 
LVL 9

Author Comment

by:DrWarezz
ID: 11743655
Okay; thanks, Tim.
Ermm.. Although I'm quite comfortable with Java as a whole, I haven't tackled JNI yet. Could you recommend a good JNI tutorial??

Thanks,
[r.D]
0
 
LVL 35

Expert Comment

by:girionis
ID: 11743940
Well how do you usually kill a process in your os? The best way would be to use JNI but as timbauer pointed out you could kill a process using the runtime class. On Linux for example you could do

Process proc = Runtime.getRuntime().exec("kill 1857"); // kill the process with id 1857
0
 
LVL 35

Expert Comment

by:girionis
ID: 11743947
Of course if you started a process by using a Process class it is far easier :)
0
 
LVL 35

Accepted Solution

by:
girionis earned 30 total points
ID: 11744010
Maybe this will help: http://www.codeproject.com/useritems/jnisample.asp (you need to register to download the source code).
0
 

Expert Comment

by:ganeshmoorthy
ID: 11750387
You can't terminate or end process in a nice away in Java. You need to
either write something in JNI that calls either SendMessage() to end the
process nicely (will most likely require user interaction)
or
calls TerminateProcess() to KILL the process;
either install a program that does that and takes the process's name on the command line and call it via Runtime.exec().

To start a new process, call Runtime.exec().
0
 
LVL 9

Author Comment

by:DrWarezz
ID: 11750812
Okay, thanks everyone.
I'm going on holiday tomorrow, therefore I'm going to end this question now.
I think that girionis' answer would serve most useful to myself, but also, thanks for the JNI tutorial link, objects, and also, thanks to everyone else that took part.

Thanks,
[r.D]
0
 
LVL 35

Expert Comment

by:girionis
ID: 11750936
Thank you for accepting :)
0

Featured Post

Enroll in June's Course of the Month

June's Course of the Month is now available! Every 10 seconds, a consumer gets hit with ransomware. Refresh your knowledge of ransomware best practices by enrolling in this month's complimentary course for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
In this post we will learn different types of Android Layout and some basics of an Android App.
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…

707 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