我正在编写 java 应用程序,它给了我端口号。正在侦听特定端口的应用程序。
我想得到端口号。正在侦听端口 10001 的应用程序
Process p = Runtime.getRuntime().exec("lsof -i:10001 | awk '{print $2}'");
InputStream is=p.getInputStream();
byte b[]=new byte[is.available()];
is.read(b,0,b.length);
System.out.println(new String(b));
p.waitFor();
System.out.println("exit: " + p.exitValue());
p.destroy();
lsof -i:10001 | awk '{print $2}'
当我在 shell 中执行它时,它会输出
PID
8092
但在 java 应用程序中它给了我exit: 1
. 为什么它不在java中运行?我也可以只得到端口吗?即而不是PID 8091
我想要8092