Runtime.getRuntime().exec("shutdown -a");

roxel 2010-04-08 05:37:22
public static void main(String[] args) {
Process p = null;
try {
//p = Runtime.getRuntime().exec("notepad");//-------------0
//p = Runtime.getRuntime().exec("shutdown -s -t 3600");//-------------1
Thread.sleep(5000);
//p = Runtime.getRuntime().exec("shutdown -a");//------------2
} catch (Exception e) {
e.printStackTrace();
}
p.destroy();
}
执行0:
用exec运行notepad,5秒后notepad结束,java程序结束。一切正常
(执行1)或(执行1和2):
用exec运行shutdown -s -t 3600,5秒后java程序结束,shutdown不能结束

请问高手何故?怎样用Java结束shutdown进程?
...全文
241 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SADSDSDDASDASD 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 roxel 的回复:]
public static void main(String[] args) {
Process p = null;
try {
//p = Runtime.getRuntime().exec("notepad");//-------------0
//p = Runtime.getRuntime().exec("shutdown -s -t 3600");//------------……
[/Quote] 不是这么写的吗p = Runtime.getRuntime().exec(cmd /c"shutdown -s -t 3600");//
hanht123 2010-04-08
  • 打赏
  • 举报
回复
楼主可以看下这篇文章,我简单看了下,

http://www.qqread.com/java/2008/07/d418748.html

应该是exec运行时不阻塞方式调用导致的那个关闭没有效果,将Tread.sleep(100)换成p.wartFor();让exec阻塞安全退出就会有想要的效果了。
roxel 2010-04-08
  • 打赏
  • 举报
回复
果然,我这得sleep200以上才行
hanht123 2010-04-08
  • 打赏
  • 举报
回复
//p = Runtime.getRuntime().exec("shutdown -a");//------------2
Thread.sleep(100);
在该行将进程sleep一下就正常了.具体没看exec的源码,原因还未知。
liu3017194 2010-04-08
  • 打赏
  • 举报
回复
public static void main(String[] args) {
Process p = null;
try {
//p = Runtime.getRuntime().exec("notepad");//-------------0
//p = Runtime.getRuntime().exec("shutdown -s -t 3600");//-------------1
Thread.sleep(5000);
//p = Runtime.getRuntime().exec("shutdown -a");//------------2
} catch (Exception e) {
e.printStackTrace();
}
p.destroy();
}
没必要像这么麻烦~!
roxel 2010-04-08
  • 打赏
  • 举报
回复
就是WindowsXP,
在cmd下运行shutdown -s -t 3600能够保证关机,运行shutdown -a就能结束shutdown进程
canoe982 2010-04-08
  • 打赏
  • 举报
回复
是什么样的操作系统,命令
shutdown -s -t 3600
能够保证关机吗?

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧