Linux下control c结束程序后继续运行命令 在linux下一个不停循环的程序如果按control c结束程序。那么socket也没有关闭,file也没有关闭,该怎么让他在被结束前关闭socket和file 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道你的程序是什么,也不知道你怎么运行的,猜测一下吧。大概可以这么理解, CTRL+C用来强制停止当前运行线程,但socket和file(?)是另外的独立线程,所以关闭当前程序时不能关闭其他线程。除非你手动关闭socket,否则应该无法用CTRL+C实现。 ps -ef 查看进程然后kill 掉... 如果程序已经被ctrl+c终止了,那么其所占用的端口和文件句柄应该已经释放了,不存在没有关闭一说。如果是多线程程序,那么ctrl+c,进程终止,线程也相应终止,没有任何方法能保证jvm被终止之前一定能执行某段程序。如果你是多进程的程序,建议用ps -ef查找到你占用端口或者文件句柄的进程然后kill掉 程序结束时候,socket fd,全都会由系统释放。如果你非要自己的代码释放的话,可以在main里面加signal(),signal的回调函数内去实现释放。 JAVA基础问题 如何在程序中统计两日期间的所有日期 配置weblogic8出现的问题,大家帮忙啊 问个奇怪的问题 JDBC问题,帮忙看一下,我已经看了有些前辈的帖子,可还是不明白,请指点 求教递归问题 弱弱的问,classpath怎么设置啊!我的搞不定! Java怎么取系统颜色?(20分) Jbuilder6如何解密// this.getClass().getResource("/").getPath()获取路径错误 关于FTPClient 的问题 大容量XML文件解析
然后kill 掉...
如果程序已经被ctrl+c终止了,那么其所占用的端口和文件句柄应该已经释放了,不存在没有关闭一说。
如果是多线程程序,那么ctrl+c,进程终止,线程也相应终止,没有任何方法能保证jvm被终止之前一定能执行某段程序。如果你是多进程的程序,建议用ps -ef查找到你占用端口或者文件句柄的进程然后kill掉
如果你非要自己的代码释放的话,可以在main里面加signal(),signal的回调函数内去实现释放。