日期:2014-05-20  浏览次数:20637 次

在java中怎样知道子进程什么时候结束 高手请进
在java中怎样知道子进程什么时候结束
我在java中用Runntime.exec();开了一个子进程来处理数据
但不知道什么时候该子进程结束
请问高手怎么得到它什么时候运行结束
谢谢

------解决方案--------------------
子进程是子线程么?

如果是,那么在子线程的run()方法中最后一行加入一行输出
System.out.println( "Thread ending. "); //如果需要还可以输出时间标志
就可以知道它什么时候停止运行的了。
------解决方案--------------------
启一个线程,线程调用进程,等待进程结束。进程结束后线程使用合适的方法通知主线程。
------解决方案--------------------
process.waitFor(); //等待process执行完毕再继续向下运行
------解决方案--------------------
1.主进程启动
2.主进程启动子进程
3.子进程启动
4.子进程建立一个socket server监听。
5.主进程连接子进程的socket server监听端口。
6.....(在这里子进程可以不断的发送自己还或者的信息)
7.子进程在socket连接中发送自己已经停止的信息。
8.主进程可以收到子进程停止的信息。(或者发现连不上子进程的端口了,也可以判断为子进程中止。)

注:利用这种方法还可以用主进程来控制子进程的启动和关闭.