?
Solved

End a Process.

Posted on 2004-08-07
12
Medium Priority
?
796 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
Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

 
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 120 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
Suggested Courses
Course of the Month14 days, 8 hours left to enroll

770 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