「java停止进程」进程停止运行

博主:adminadmin 2022-12-29 11:09:10 670

本篇文章给大家谈谈java停止进程,以及进程停止运行对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用Java关闭一个进程

解决这个问题,要看这个进程是java程序自定义的进程,还是操作系统的进程,操作系统的进程,又可以分为windows进程和Linux进程

一、针对操作系统的进程:

1,首先java用户,要具有操作进程的权限

2. 针对windows操作系统的进程,比如QQ进程:

String command = "taskkill /f /im QQ.exe";  

Runtime.getRuntime().exec(command);

其中:taskkill 是命令名称,/f /im 是参数,QQ.exe是进程的可执行文件。

3.针对Linux操作系统

String command = "kill /f /im QQ.exe";  

Runtime.getRuntime().exec(command);

二、在Java程序中自定义的进程

思路:在线程中设置一个标志变量,当这个变量的值在外界被改变的时候,有机会结束运行的线程

public class T {

public static void main(String[] args) {

// 启动线程

MyThread thread = new MyThread();

new Thread(thread).start();

// 你的其它的工作,此时线程在运行中

// 你不想让线程干活了,停掉它

// 注意,这只是一个标志,具体线程何时停,并不能精确控制

thread.allDone = true;

}

class MyThread implements Runnable {

boolean volatile allDone = false;

public void run() {

   // 每次循环都检测标志

   // 如果设置停止标志时已经在循环里

   // 则最长需要等待一个循环的时间才能终止

   while (!allDone) {

   // 循环里的工作

   }

}

}

java运行时死循环了怎么用命令符把它停止掉?

java运行出现死循环时,在dos命令行界面下,可以直接使用ctrl+c的组合键来停止程序,ctrl+c组合键在dos命令行界面中可以不用等待程序正常运行结束,直接终止程序;还可以直接点击dos命令行界面窗口的关闭按钮来结束程序。在开发工具eclipse或者Myeclipse中,可以直接点击运行控制台中的红色按钮来结束程序。

java怎么杀掉java进程

java中有调用外部程序的类,Runtime.getRuntime().exec("./**.exe");此函数返回的是一个Process 对象,该对象在创建后,可以对它进行 destroy () 杀掉子进程、 waitFor () 导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。 如下例子可以杀掉已经打开的文本进程:

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class Test

{        

public static void main(String[] args)

    {        

try

                {

                        String[] cmd =

                        { "notepad.exe"};

                        Process proc = Runtime.getRuntime().exec(cmd);//开启文本

                        BufferedReader in = new BufferedReader(new InputStreamReader(proc

                                .getInputStream()));                        

                        String string_Temp = in.readLine();

                        while (string_Temp != null)

                        {

                                System.out.println(string_Temp);

                                if(string_Temp.indexOf("notepad.exe")!=-1)

                                 Runtime.getRuntime().exec("Taskkill /IM notepad.exe");

                                string_Temp = in.readLine();

                        }

                }

                catch (Exception e)

                {

                   //结束进程

                }

    }

结果如下:

java 如何停止一个死循环?

java 停止一个死循环,可以使用break关键字,跳出循环,如下代码:

package com.qiu.lin.he;

public class Ceshi {

public static void main(String[] args) {

for (int i = 2; i  0; i++) {

if (i == 80) {

System.out.println("死循环退出了");

break;

}

}

}

}

运行结果如下:

java编程:结束代码进程

首先,Java不允许你控制资源的释放,所有的资源释放都是由JVM来管理的,除非你退出JVM。

当你对资源调用dispose方法时,实际上是将资源的状态置为已废弃,gc会自动来将资源释放掉。

其次,setDefaultCloseOperation()方法是用来设置用户在此窗体上发起 "close" 时默认执行的操作。其中DISPOSE_ON_CLOSE调用任意已注册WindowListener的对象后隐藏并释放该窗体;EXIT_ON_CLOSE则使用System exit方法退出JVM。

dispose()是Window类的方法,并非Container类,它的JDK APIDOC里面这样描述:

释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。即这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。

通过随后调用 pack 或 show 重新构造本机资源,可以再次显示 Window 及其子组件。重新创建的 Window 及其子组件的状态与释放 Window 时这些对象的状态一致(不考虑这些操作之间的其他更改)。

注:当 Java 虚拟机 (VM) 中最后的可显示窗口被释放后,虚拟机可能会终止。

也就是说,调用dispose()方法是将对象占用的本地屏幕资源(screen resources)释放,对象本身并没有释放,只是底层的对应点已经释放了,所以仍然是可用的。

当然,调用底层本地屏幕资源已经被释放的对象可能会出现一些错误,有时会报一个SWTException: Widget is disposed...。

如果你的程序已经没有其他线程在运行的话,当所有的窗口都被dispose了之后,JVM也会退出。

你的问题中,只需要将该子窗口dispose掉,并且将对该窗口的引用置为null,不用管它是否还能使用,gc会自动将对象释放的(不会立即释放,对象有它的生命周期,gc会依照自己的算法进行资源回收)。

java程序通过命令停止

tasklist命令找到该程序的进程,taskkill杀掉该进程。

tomcat的启动、结束bat都是调用org.apache.catalina.startup.Bootstrap这个类实现的,startup.bat最终会执行Bootstrap.java里的

public void start() throws Exception {    

    if( catalinaDaemon==null ) init();

    

    Method method = catalinaDaemon.getClass().getMethod("start", (Class [] )null);    

    method.invoke(catalinaDaemon, (Object [])null);    

}

shutdown.bat最终会执行Bootstrap里的

public void stopServer() throws Exception {

    Method method = catalinaDaemon.getClass().getMethod("stopServer", (Class []) null);    

    method.invoke(catalinaDaemon, (Object []) null);    

}

你也可以这样写一个类来控制程序的启动、终止,bat就调用对应的方法。

关于java停止进程和进程停止运行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。