2009-10-18 10 views
1

Я построил приложение клиентского сервера, используя IDL-файл для связи клиентского сервера по сети. И клиентская, и серверная программы находятся в java. Когда пользователь выходит на выход, выходят как сервер, так и клиент. Однако я не могу убить процесс сервера имен. я начал сервер имен с помощью командыКак убить процесс сервера имен в java

tnameserv -ORBInitialPort 1050

Как я могу убить сервер имен в клиентских и серверных программ (которые в Java)?

+0

вы не можете остановить стандартный сервер имен с помощью java-методов – tuergeist

ответ

2

При запуске tnameserv вы будете иметь, чтобы убить его с помощью команды глушения (Linux, Unix) или Ctrl + C (Windows)

Если на Linux/Unix, это должно сделать трюк:

killall tnameserv 

см http://java.sun.com/j2se/1.4.2/docs/guide/idl/tnameserv.html#stoppingnameserver

Edit:

Если вы хотите, чтобы выполнить команду killall из жгутов использования Java:

runtime.exec("killall tnameserv"); 

http://java.sun.com/javase/6/docs/api/java/lang/Runtime.html см

Мысли:

Это кажется странным начали tnameserv из-за пределов нашей программы, а затем попытаться убить его изнутри. (проблемы с разрешениями, другие пользователи, использующие nameserv и т. д.). В зависимости от ваших потребностей, почему бы не запустить tnameserv из вашего приложения?

+0

killall из java-программы? – tuergeist

+0

из командной строки linux. в том же месте вы запускаете команду tnameserv -ORBInitialPort 1050. –

+0

, но вопрос заключался в том, как убить IN client или server app (java)! – tuergeist