我有一个应用程序,当通过
eclipse运行时会导致
eclipse本身挂起.如果我将此应用程序导出为jar并运行它,它可以正常工作.但是如果我运行(或调试)它,应用程序似乎将启动(根据ps)并运行;但是eclipse本身会挂起,并被报告为没有CPU或内存使用的“已停止”程序.我在这个应用程序的第一行放置了一个断点,它甚至没有在eclipse结束停止之前到达那里.如果我强行将eclipse从停止的状态中唤醒,它将起作用;但它也会失去与我开始的程序的联系.我想要调试的程序将继续运行,但是在我恢复停止的日食之后,eclipse无法控制或杀死它.
我可以在没有eclipse问题的情况下运行大量其他应用程序.奇怪的是我之前遇到过这个问题,然后我可以运行我的应用程序一天,现在我又回到原来的问题了.我不知道那些重要的事情之间发生了什么变化.
任何人都可以建议可能导致此问题或如何修复它?
更新:
我做了一些更多的Linux魔法.看来eclipse在等待命令时停止了:
sh -c stty -lcanon min 1
在此之前,似乎还有一个sh(已解散)命令,该命令也悬挂而没有被收获几分钟,我认为这样可以防止日食正常运行;如果我等了足够久,sh(已解散)最终会消失;但是我刚刚联系的sh命令出现了.我不知道原来已解散的SH命令是什么;我不能做得足够快,以便在它消失之前抓住它.这两个问题只发生在日食中;作为一个jar文件,这个程序运行得很好.
我的运行假设是eclipse无法正确获取或处理sigchild?这至少可以解释sh(已解散)的应用.它没有解释当前的SH命令没有显示为不存在;尽管它应该在几秒钟内执行?
更新2.0:
我发现这个链接:http://linux.about.com/od/srl_howto/a/hwtsrl13t04_3.htm基本上stty已知在使用