在Unix中从ps找到java调试端口

时间:2013-12-16 17:02:24

标签: java unix port ps

使用时:" ps -fu $ {USER} | grep地址"我可以找到java进程以及作为进程命令行的一部分出现的调试端口号。 我的问题是,如何从命令行中提取包含许多字符的端口号。这个问题可以归结为如何在两个字符串之间提取一个单词。我一直在查找如何使用grep,awk或sed。但是我的所有试验都以显示整个流程命令行结束,而不仅仅是java端口号。

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用sed

提取调试端口
ps -fu ${USER} | grep address | sed 's/.*address=\([0-9]*\).*/\1/'

<强>更新

ps的输出可能包含grep命令本身。您可以再次使用grep对其进行过滤:

ps -fu ${USER} | grep address | sed 's/.*address=\([0-9]*\).*/\1/' | grep ^\d