在基于rpm的JDK升级期间,现有的java进程不会受到影响,从1.6升级到1.7

时间:2013-09-13 23:12:15

标签: linux upgrade jdk1.6

我们在linux机器上运行了jdk 1.6的java进程(cassandra服务),我们使用rpm包将机器中的JDK从1.6升级到1.7而不停止进程(/usr/bin/jdk1.6/bin / java)使用早期版本的java运行。

成功升级后,旧版本的jdk已从计算机中删除,只有新版本(1.7)可用,但之前运行旧版本(1.6)的进程未受影响且仍在运行旧的道路。尽管过程显示的旧java路径现在不在机器中。

有人可以解释一下这种行为吗?

1 个答案:

答案 0 :(得分:1)

这是Unix / Linux处理打开文件的方式。卸载旧版本要求操作系统取消链接文件。但是,它们仍处于打开状态(可以显示lsof),因此仍被视为有效。关闭所有打开的文件句柄后,文件将被“永久”删除。更多信息可以是found here