java执行外部命令,没有完成就退出了

cdshrewd 2008-12-29 03:07:52
Runtime rt = Runtime.getRuntime();
try
{
Process process = rt.exec("cmd mysql -uroot -p*****<"+fullpath);
//导入数据,成功则设置对应的参数
process.waitFor();
System.out.println("执行数据的导入!"+"mysql -uroot -p123 cms<"+fullpath);
System.out.println("数据导入成功!");

}
总是没有导入数据就直接输出了数据导入成功,为什么?
...全文
115 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdshrewd 2008-12-29
  • 打赏
  • 举报
回复
发现了错误,原来是自己的一个失误,上面的代码本身在jdk5.0下就是可以正常执行的,谢谢大家了
cdshrewd 2008-12-29
  • 打赏
  • 举报
回复
按照二楼的代码,结果出现了mysql client command,接着这个进程就陷入了死锁状态,没有执行数据导入也没有报错,这是为什么?
SylvanLiu 2008-12-29
  • 打赏
  • 举报
回复
cmd /c 或者 cmd /k
renmms 2008-12-29
  • 打赏
  • 举报
回复
dos命令 应该是: "cmd /c mysql -uroot -p***** <" + fullpath

加上/c 就应该好了
yqlx521 2008-12-29
  • 打赏
  • 举报
回复
不懂,帮顶
shuaiAWP 2008-12-29
  • 打赏
  • 举报
回复
试试下面的

Runtime rt = Runtime.getRuntime();
try
{
Process process = rt.exec("cmd /c start /min mysql -uroot -p***** <"+fullpath);
//导入数据,成功则设置对应的参数
process.waitFor();
System.out.println("执行数据的导入!"+"mysql -uroot -p123 cms <"+fullpath);
System.out.println("数据导入成功!");

}

WoMaJia 2008-12-29
  • 打赏
  • 举报
回复
帮顶

62,614

社区成员

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

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