我有一个第 3 方应用程序,它通过 RMI 上的 JDBC api 公开内存中的数据结构。
如何在无需运行 squirrel 或类似的 GUI 应用程序的情况下从该数据库 api 中获取数据?
首选 Perl 解决方案,但可接受 java 解决方案。
我在一个盒子上有很多进程在监听多个端口。
我正在尝试将端口映射到 pid。
问题是 lsof 没有告诉我哪些端口属于哪个进程。
给定一个监听端口 80 的 apache,我可以看到它通过 netstat 监听:
user@host% netstat -an|grep LISTEN|grep 80
*.80 *.* 0 0 49152 0 LISTEN
但是当我尝试将端口 80 映射到 pid 时,我什么也得不到:
user@host% lsof -iTCP:80 -t
当我尝试查看特定 pid 正在使用的套接字时,我得到:
user@host% lsof -lnP -p31 -a -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
libhttpd. 31 0 15u IPv4 0x6002d970b80 0t0 TCP *:65535 (LISTEN)
请注意 NAME 列中的 *:65535。
有谁知道为什么 lsof 没有报告正在使用的端口?
我以root身份运行。我正在使用 lsof 和 os 版本的混合:
Solaris10 上的 lsof v4.77 sparc
lsof v4.72 上 Redhat4.2
等
我知道 linux 解决方案可以使用“netstat -p”,
所以我想我只是在寻找 solaris 不工作的原因,但我发现 lsof 经常保持沉默并且没有向我显示预期的数据。
运行异构环境始终是一项挑战。拥有一个拥有 AIX、IRIX、HPUX、Ultrix、Solaris 和多种 Linux 风格的企业,什么是一个好的通用 PATH 设置,它允许一组良好的通用命令,但还包括额外的,如“ifconfig”、“ping” ,以及默认情况下通常不存在的“make”?