On 9/12/2018 2:33 AM, wangyongqiang0...@163.com wrote:
from zk log, i can get the ip and port,  i think if zk can print the process 
info with the ip and port , will help us in some cases

What precisely are you after?  A java program can typically report what PID its process has, but I don't know that any other process information is available.  I have not checked to see whether ZK logs the PID it's using at any point.  Usually such information is logged at startup (if it is ever logged at all) and not anywhere else.

With the port number, you can use a program like lsof or netstat to determine the pid, and I think this works on both the client and server side.  Here's an example of that for another Java program.  This isn't zookeeper, but the same thing will work for ZK too.

root@smeagol:~# lsof -Pn -i:45499
COMMAND  PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    8713 elyograg   35u  IPv6   95610      0t0  TCP 127.0.0.1:45499 (LISTEN) java    8713 elyograg   62u  IPv6 6442866      0t0  TCP 127.0.0.1:52686->127.0.0.1:45499 (CLOSE_WAIT) java    8713 elyograg   67u  IPv6 6443911      0t0  TCP 127.0.0.1:52792->127.0.0.1:45499 (CLOSE_WAIT) java    8713 elyograg   78u  IPv6 6446143      0t0  TCP 127.0.0.1:52814->127.0.0.1:45499 (ESTABLISHED) java    8713 elyograg   83u  IPv6 6444628      0t0  TCP 127.0.0.1:45499->127.0.0.1:52814 (ESTABLISHED) java    8713 elyograg   84u  IPv6 6443524      0t0  TCP 127.0.0.1:52710->127.0.0.1:45499 (CLOSE_WAIT) java    8713 elyograg   85u  IPv6 6442460      0t0  TCP 127.0.0.1:52360->127.0.0.1:45499 (CLOSE_WAIT) java    8713 elyograg   87u  IPv6 6445101      0t0  TCP 127.0.0.1:52766->127.0.0.1:45499 (CLOSE_WAIT) java    8713 elyograg  113u  IPv6 6443962      0t0  TCP 127.0.0.1:52844->127.0.0.1:45499 (ESTABLISHED) java    8713 elyograg  119u  IPv6 6444645      0t0  TCP 127.0.0.1:45499->127.0.0.1:52844 (ESTABLISHED) java    8713 elyograg  200u  IPv6 6441819      0t0  TCP 127.0.0.1:52656->127.0.0.1:45499 (CLOSE_WAIT)

The -Pn parameters instruct lsof to not translate port numbers or IP addresses to names.  I do this to make the lsof program run faster.

Thanks,
Shawn

Reply via email to