Java Process.Destroy()不会终止所有进程【JAVA教程】

!
也想出现在这里? 联系我们
信息

Java Process.Destroy()不会终止所有进程,第1张

概述Java Process.Destroy()不会终止所有进程

我有一个使用Runtime.getRuntime()。exec(“myBin”)启动程序的Java进程

这个“myBin”可能会分叉几次来完成它的工作。

我有一个阅读器线程从exec()返回的Process对象的inputStream和ErrorStream中读取“myBin”及其子元素的所有输出,

我的问题是:如果完成这个工作需要太多的时间,我需要杀死这个进程并等待读者线程完成(如果读取EOF的话,线程将完成)

64位DLL入口点覆盖

Metro应用程序是否可以知道其他应用程序?

QT 5.6.1 Designer x64不启动

如何在C中的linux中获得一个进程的PID

在windows中,如何找出哪个进程位于本地networking套接字的另一端?

现在我发现,即使我使用Process.Destroy(),我只能杀死自己和它的所有孩子的“myBin”insead。 所以超时后,EOF永远不会到达,所以读者线程挂起,直到所有的subprocess终止…

有没有办法安全杀死进程和Runtime.exec()启动的所有孩子

我在linux上,跨平台不在我心中。

在linux下从C程序运行多个C程序

我们可以使用exec()给&作为参数来启动后台进程吗?

父进程在继续之前等待所有subprocess完成

阻止用户停止进程

在windows 7 64位的opencv 2.4错误

实现这一点的一个方法是让调用fork的过程保存一个子pID列表。 你可以在mybin中实现一个处理程序来触发杀死“儿童”。

另一个选择是使用线程而不是使用叉子。

主要的问题是,如果你调用fork,它将创建一个新的进程,而这个进程并不依赖父进程。

总结

以上是内存溢出为你收集整理的Java Process.Destroy()不会终止所有进程全部内容,希望文章能够帮你解决Java Process.Destroy()不会终止所有进程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞132 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容