我可以执行netstat -atulpn | grep java netstat -atulpn | grep java来查找所有的Java进程及其附带的端口,这是非常好的,但是我也想让进程完整的执行参数也显示出来。 我不相信这是netstat到目前为止我所探索过的所有东西都可能的,所以我在想,我将不得不编写一个脚本来处理netstat的输出,然后将这个pid传递给ps ,然后对输出进行优化显示ip +端口和完整的命令行。
有没有更好的方法来做到这一点,或者这是唯一的select?
ss -lnptu通过对ps -p的调用传递给awk。 我正在使用移动设备,因此现在input一个完整的示例有点棘手。
侦听套接字:
ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
所有套接字(可能需要一些额外的过滤,因为在TIME_WAIT中没有过程信息的套接字等):
ss -anptu state listening state established state connected state unconnected | grep -v TIME_WAIT | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
@ylluminate,对于CentOS将其更改为ss -lnptu | awk 'NR>1 { split($6,p,","); printf "Listen: "$4 " Command: "; system("ps --no-headers -o args p "p[2]); }' ss -lnptu | awk 'NR>1 { split($6,p,","); printf "Listen: "$4 " Command: "; system("ps --no-headers -o args p "p[2]); }'