【问题标题】:How to kill the nameserver process in java如何在java中杀死名称服务器进程
【发布时间】:2009-10-18 22:06:49
【问题描述】:

我使用 IDL 文件构建了一个客户端服务器应用程序,用于通过网络进行客户端服务器通信。客户端和服务器程序都在 java 中。当用户进入退出时,服务器和客户端都退出。但是我无法终止名称服务器进程。 我使用命令

启动了名称服务器

tnameserv -ORBInitialPort 1050

如何在客户端或服务器程序(在 java 中)中终止名称服务器?

【问题讨论】:

  • 您无法使用基于 java 的方法停止标准名称服务器

标签: java client-server corba idl nameservers


【解决方案1】:

当你运行 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?

【讨论】:

  • 来自 linux 命令行。运行“tnameserv -ORBInitialPort 1050”命令的地方。
  • 但问题是如何杀死客户端或服务器应用程序(java)!
  • 可以使用 java 内部的 runtime.exec() 来运行 killall 命令。但是,现在您的程序仅适用于具有 killall 的系统(这可能没问题)。我将编辑我的答案。
猜你喜欢
  • 1970-01-01
  • 2017-10-02
  • 1970-01-01
  • 2011-02-25
  • 2011-06-19
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
  • 2013-03-08
相关资源
最近更新 更多