我使用 IDL 文件构建了一个客户端服务器应用程序,用于跨网络的客户端服务器通信。客户端和服务器程序都在 java 中。当用户进入退出时,服务器和客户端都退出。但是我无法终止名称服务器进程。我使用命令启动了名称服务器
tnameserv -ORBInitialPort 1050
如何杀死客户端或服务器程序(在 java 中)中的名称服务器?
我使用 IDL 文件构建了一个客户端服务器应用程序,用于跨网络的客户端服务器通信。客户端和服务器程序都在 java 中。当用户进入退出时,服务器和客户端都退出。但是我无法终止名称服务器进程。我使用命令启动了名称服务器
tnameserv -ORBInitialPort 1050
如何杀死客户端或服务器程序(在 java 中)中的名称服务器?
当你运行 tnameserv 时,你必须通过 kill 命令 (linux,unix) 或 Ctrl+C (windows) 来杀死它
如果在 linux/unix 上,这应该可以解决问题:
killall tnameserv
见http://java.sun.com/j2se/1.4.2/docs/guide/idl/tnameserv.html#stoppingnameserver
编辑:
如果要从 withing java 发出 killall 命令,请使用:
runtime.exec("killall tnameserv");
见http://java.sun.com/javase/6/docs/api/java/lang/Runtime.html
想法:
从我们的程序外部启动 tnameserv,然后尝试从内部终止它似乎很奇怪。(权限问题、其他用户使用 nameserv 等)根据您的需要,为什么不从您的应用程序中启动 tnameserv?