关闭java进程
⑴ java如何关闭或者打开一个指定的windows进程
Process java.lang.Runtime.exec(String command);
在单独的进程中执行指定的字符串命令
java.lang.Process
ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。
创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,Microsoft Windows 上的 Win16/DOS 进程,或者 shell 脚本。创建的子进程没有自己的终端或控制台。它的所有标准 io(即 stdin,stdout,stderr)操作都将通过三个流 (getOutputStream(),getInputStream(),getErrorStream()) 重定向到父进程。父进程使用这些流来提供到子进程的输入和获得从子进程的输出。因为有些本机平台仅针对标准输入和输出流提供有限的缓冲区大小,如果读写子进程的输出流或输入流迅速出现失败,则可能导致子进程阻塞,甚至产生死锁。
当没有 Process 对象的更多引用时,不是删掉子进程,而是继续异步执行子进程。
对于带有 Process 对象的 Java 进程,没有必要异步或并发执行由 Process 对象表示的进程
⑵ 安装Java时提示“关闭程序,以便继续”。要求我结束的程序名称是“开始”。请问怎么办。
开始,是指电脑的资源管理器,也就是我们的桌面了。
打开任务管理器,在“进程”中找到 Explorer.exe “结束进程” 终止它,等安装过程继续之后再从任务管理器中的 "文件“ 》 新建任务》 输入 explorer.exe.
出现这个错误,有可能是你刚刚卸载了以前的 Java,它的 DLL 需要你重启电脑才能删除掉,重启前就可能是这个错误表示有些东西锁住了。
⑶ 如何用Java关闭一个进程
解决这个问题,要看这个进程是java程序自定义的进程,还是操作系统的进程,操作系统的进程,又可以分为windows进程和Linux进程
一、针对操作系统的进程:
1,首先java用户,要具有操作进程的权限
2. 针对windows操作系统的进程,比如QQ进程:
Stringcommand="taskkill/f/imQQ.exe";
Runtime.getRuntime().exec(command);
其中:taskkill 是命令名称,/f /im 是参数,QQ.exe是进程的可执行文件。
3.针对Linux操作系统
Stringcommand="kill/f/imQQ.exe";
Runtime.getRuntime().exec(command);
二、在Java程序中自定义的进程
思路:在线程中设置一个标志变量,当这个变量的值在外界被改变的时候,有机会结束运行的线程
publicclassT{
publicstaticvoidmain(String[]args){
//启动线程
MyThreadthread=newMyThread();
newThread(thread).start();
//你的其它的工作,此时线程在运行中
//你不想让线程干活了,停掉它
//注意,这只是一个标志,具体线程何时停,并不能精确控制
thread.allDone=true;
}
}
{
booleanvolatileallDone=false;
publicvoidrun(){
//每次循环都检测标志
//如果设置停止标志时已经在循环里
//则最长需要等待一个循环的时间才能终止
while(!allDone){
//循环里的工作
}
}
}
⑷ 怎么强制停止java程序
Ctrl+Shift+Esc打开任务管理器,选择进程,找到java进程,关掉它
⑸ Linux 下的Java进程自己关闭,怎么解
Linux中java进程自己关闭,有2种可能:
1、是程序本身出现bug,造成java程序崩溃,进程失效;
2、是系统服务设置了自我监控的机制,java占用资源过多的话,关闭了java进程来释放占用的资源。
⑹ 用怎样的JAVA代码结束指定进程
1 线程正常执行完毕,正常结束。 也就是让run方法执行完毕,该线程就会正常结束。 2 监视某些条件,结束线程的不间断运行。 然而,常常有些线程是伺服线程。它们需要长时间的运行,只有在外部某些条件满足的情况下,才能关闭这些线程。 通常,它们执行在一个while(true)的死循环中。 如: publicvoid run() { while(true){ someWork(); if(finished){ break; } try { Thread.sleep(10000); } catch (InterruptedException e) { /* TODO自动生成 catch 块 * */ e.printStackTrace(); } } } 我们可以在while死循环内,每次循环时,察看外部条件,看看是否需要关闭当前线程。如果是,就break,跳出死循环,或者是抛出异常,跳出死循环,结束线程。 3 捕获InterruptedException 运行时异常,中断当前线程。 有些执行伺服任务的线程,在while(true)这样的死循环内部,是一个阻塞中的方法。此时,就不能采用第二种方法了。因为,当该方法没有返回时,该线程一直处于阻塞当中,根本无法执行其他语句。 此时,就需要调用该线程的interrupt方法,产生一个InterruptedException运行时异常,是阻塞中的那个方法抛出这个异常,从而让我们有机会结束这个线程的执行。 如: publicvoid run() { while(true){ try { // getSendMessages 是BlockingQueue类。它的take方法将会阻塞! responseMessage = this.getSendMessages().take(); } catch (InterruptedException e1) { thrownew RuntimeException(); //或者break; } someWork(); } 一个外部的Thread 对象 指向这个线程。 需要结束这个线程时,只需要调用thread对象的interrupt() 方法,就会在responseMessage = this.getSendMessages()。take(); 这条语句中产生一个InterruptedException异常,从而结束该线程的阻塞状态,通过抛出异常,或者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会依照自己的算法进行资源回收)。
⑻ unix下如何启动和关闭一个java程序
用Runtime类可以执行DOS命令来执行一个进程,如下就是打开记事本:
try {
Runtime runtime = Runtime.getRuntime();
runtime.exec("notepad.exe");
} catch (IOException e) {
e.printStackTrace();
}
Thread是线程,不是进程,楼主可以去查查线程和进程的区别。
运行main函数时,就启动了一个java.exe进程,对应的dos命令就是java xxx
楼主可以用Runtime 来执行,java xxx,只要路径正确,就会启动另一个java进程。
⑼ oracle 运行关闭java 进程会怎么样 ,会影响oracle 运行吗
oracle是独立运行的
一些java的项目运行依赖数据库oracle,但是oracle不依赖java
关闭oracle,影响java
关闭java不会影响oracle
⑽ java进程怎么安全关闭
就是有个main方法在死循环的查数据处理数据。然后要更新代码,不能直接kill呀,kill会把正在处理的数据弄丢,就需要在个监控,可以再跑的过程里让他停止读取数据,然后把内存里的数据处理完了再关闭