删除 netstat 输出(特别是 Not all processes could be identified 行)
Remove netstat output (specifically Not all processes could be identified line)
我在检查当前端口是否正在使用时无法删除 netstat 命令的输出。我不需要命令的输出,而只需要错误代码。
运行 netstat -anp | grep 1521 &>/dev/null
结果
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
显示为输出。我也试过:
2>/dev/null| cut -d' ' -f45-50 | sed 's/[^0-9]*//g'
这只会在 Not all processes... 输出后产生一堆空行,但仍会在输出中显示。
最终解决了我自己的问题。
使用以下
netstat -taepn 2>/dev/null | grep -Po "\b(\d|\.)+:1521\b" 1>/dev/null
当我只想要错误代码而不需要输出时,这是特定于我的情况
接受的答案对我不起作用,这里是 CentOS6.5 32bit。无论端口状态如何,它都不输出。
我找到了我的解决方案:
netstat -antp 2>/dev/null | grep [port-num]
如果由普通用户执行,这将省略 netstat
的前两行。
警告两行需要省略:
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
适用于两种情况:
- 端口是 "LISTEN" 状态
- 端口处于 "TIME_WAIT" 状态。
而不是
netstat -anp
您可以使用
检查
sudo netstat -anp
这对我有用。
我在检查当前端口是否正在使用时无法删除 netstat 命令的输出。我不需要命令的输出,而只需要错误代码。
运行 netstat -anp | grep 1521 &>/dev/null
结果
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
显示为输出。我也试过:
2>/dev/null| cut -d' ' -f45-50 | sed 's/[^0-9]*//g'
这只会在 Not all processes... 输出后产生一堆空行,但仍会在输出中显示。
最终解决了我自己的问题。 使用以下
netstat -taepn 2>/dev/null | grep -Po "\b(\d|\.)+:1521\b" 1>/dev/null
当我只想要错误代码而不需要输出时,这是特定于我的情况
接受的答案对我不起作用,这里是 CentOS6.5 32bit。无论端口状态如何,它都不输出。
我找到了我的解决方案:
netstat -antp 2>/dev/null | grep [port-num]
如果由普通用户执行,这将省略 netstat
的前两行。
警告两行需要省略:
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
适用于两种情况:
- 端口是 "LISTEN" 状态
- 端口处于 "TIME_WAIT" 状态。
而不是
netstat -anp
您可以使用
检查sudo netstat -anp
这对我有用。