相关疑难解决方法(0)

如何杀死Linux上特定端口上运行的进程?

我尝试使用./shutdown.shtomcat /bin目录关闭tomcat .但发现服务器没有正常关闭.因此我无法重启
我的tomcat正在端口上运行8080.

我想杀死运行的tomcat进程8080.我首先想要在特定端口(8080)上运行进程列表,以便选择要杀死的进程.

unix linux port kill-process

640
推荐指数
25
解决办法
100万
查看次数

套接字选项SO_REUSEADDR和SO_REUSEPORT,它们有何不同?它们在所有主要操作系统中的含义是否相同?

man pages和程序员单证套接字选项SO_REUSEADDR,并SO_REUSEPORT针对不同的操作系统,不同的,往往非常混乱.有些操作系统甚至没有选项SO_REUSEPORT.WEB中充满了关于此主题的矛盾信息,并且通常您可以找到仅对特定操作系统的一个套接字实现的信息,这些信息甚至可能在文本中没有明确提及.

那究竟有什么SO_REUSEADDR不同SO_REUSEPORT呢?

系统是否没有SO_REUSEPORT更多限制?

如果我在不同的操作系统上使用任何一个,那么预期的行为究竟是什么?

unix sockets linux windows portability

630
推荐指数
2
解决办法
24万
查看次数

用于查看特定端口的命令行

有没有办法从Windows命令行检查特定端口的状态?我知道我可以使用netstat来检查所有端口但netstat很慢并且查看特定端口可能不是.

windows port networking command-prompt

244
推荐指数
10
解决办法
102万
查看次数

Python [Errno 98]地址已在使用中

在我的Python套接字程序中,我有时需要用它来中断它Ctrl-C.当我这样做时,它会使用关闭连接socket.close().

但是,当我尝试重新打开它时,我必须等待一段时间才能再次连接.如何正确关闭套接字?或者这是打算?

python sockets connection errno

80
推荐指数
8
解决办法
11万
查看次数

设置TIME_WAIT TCP

我们正在尝试调整通过TCP接受消息的应用程序,并使用TCP进行一些内部消息传递.在进行负载测试时,我们注意到响应时间显着降低(然后完全停止),因为对系统进行了更多的同时请求.在此期间,我们看到很多TCP连接处于TIME_WAIT状态,有人建议将TIME_WAIT环境变量从默认的60秒降低到30.

我所知,该TIME_WAIT设置实质上设置了在关闭连接后TCP资源再次可用于系统的时间.

我不是一个"网络人",对这些事情知之甚少.我需要很多联系帖子中的内容,但是"笨拙"了一下.

  • 我想我明白为什么这个TIME_WAIT值不能设置为0,但可以安全地设置为5吗?10岁呢?什么决定了这个值的"安全"设置?
  • 为什么这个值的默认值为60?我猜想比我聪明的人有充分的理由选择这个作为合理的默认值.
  • 关于压倒这个价值的潜在风险和好处,我还应该知道什么呢?

tcp network-protocols

66
推荐指数
3
解决办法
11万
查看次数

如何根据端口查找进程并将其全部删除?

根据端口号查找进程并将其全部删除.

ps -efl | grep PORT_NUMBER | kill -9 process_found_previously
Run Code Online (Sandbox Code Playgroud)

如何完成最后一栏?

bash shell

63
推荐指数
6
解决办法
6万
查看次数

错误:使用地址绑定套接字时已经使用的地址但是`netstat`显示了端口号

我试图在端口号绑定我的套接字(服务器套接字)8000.它起作用并为我做了工作.在代码的最后我也关闭了套接字.在下一刻我再次运行我的代码,它向我显示该地址已被使用.我已经打印了错误值的含义,strerror(errno);以查看我的代码是否在每个点都正常工作.要检查端口是否空闲,我使用了netstat它,但它显示端口号8000是免费的.它发生在我身上很多次.每次我等待几秒钟然后它再次开始工作.我正在使用c语言.那么我的操作系统对于这种行为的原因是什么?

再过几秒钟后,我运行代码然后就可以了.

anirudh@anirudh-Aspire-5920:~/Desktop/testing$ sudo ./a.out 
Socket Creation: Success
File open: Success
Socket Bind: Address already in use
Socket Listen: Address already in use
^C
anirudh@anirudh-Aspire-5920:~/Desktop/testing$ sudo netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1348/lighttpd   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      984/sshd        
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1131/cupsd      
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1211/mysqld     
tcp6 …
Run Code Online (Sandbox Code Playgroud)

c sockets linux

51
推荐指数
5
解决办法
12万
查看次数

绑定失败:地址已在使用中

我试图将套接字绑定到下面的端口:

if( bind(socket_desc,(struct sockaddr *) &server, sizeof(server)) < 0)
{
    perror("bind failed. Error");
    return 1;
}
puts("bind done");
Run Code Online (Sandbox Code Playgroud)

但它给出了:

$ ./serve   
Socket created    
bind failed. Error: Address already in use
Run Code Online (Sandbox Code Playgroud)

为什么会出现此错误?

c sockets linux

40
推荐指数
6
解决办法
24万
查看次数

python TCPServer地址已经在使用但我关闭了服务器,我使用`allow_reuse_address`

这是我运行服务器的代码:

class MyRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    #....

PORT = 8089

httpd = SocketServer.TCPServer(("", PORT), MyRequestHandler)
httpd.allow_reuse_address = True

print "Serving forever at port", PORT
try:
    httpd.serve_forever()
except:
    print "Closing the server."
    httpd.server_close()
    raise
Run Code Online (Sandbox Code Playgroud)

然而这就是:

^CClosing the server.
Traceback (most recent call last):
  File "server.py", line 118, in <module>
    self.send_error(400, "Unimplemented GET command: %s" % (self.path,))
  File "/home/claudiu/local/lib/python2.6/SocketServer.py", line 224, in serve_forever
    r, w, e = select.select([self], [], [], poll_interval)
KeyboardInterrupt
(.virtualenv)claudiu@xxx:~/xxx$ python server.py
Traceback (most recent call last):
  File "server.py", line 122, in …
Run Code Online (Sandbox Code Playgroud)

python port tcp bind

13
推荐指数
2
解决办法
9660
查看次数

关闭并重新打开 Python 套接字后,“[Errno 10048] 通常只允许每个套接字地址(协议/网络地址/端口)使用一次”

我有这个代码:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
    s.bind(('10.0.0.253', 8080))
except:
    s.close()
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('10.0.0.253', 8080))


s.listen(1)
conn, addr = s.accept()
Run Code Online (Sandbox Code Playgroud)

它绑定,然后如果遇到错误,则销毁套接字,然后创建一个新套接字并将其绑定到相同的 IP 和端口。出于某种原因,即使关闭套接字后,我也会收到此错误:

Traceback (most recent call last):
File "C:\Users\other\Desktop\tcpReverseShell_Server.py", line 68, in <module>
  main()
  File "C:\Users\other\Desktop\tcpReverseShell_Server.py", line 66, in main
  connect()
File "C:\Users\other\Desktop\tcpReverseShell_Server.py", line 43, in connect
  s.bind(('10.0.0.253', 8080))
File "C:\Python27\lib\socket.py", line 228, in meth
  return getattr(self._sock,name)(*args)
error: [Errno 10048] Only one usage of each socket address (protocol/network 
address/port) is normally permitted
Run Code Online (Sandbox Code Playgroud)

我找到的唯一解决方案是使用s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1),但是当我尝试时,我收到此错误:[Errno …

python sockets

3
推荐指数
1
解决办法
2万
查看次数

如何更改在一个端口号上运行的服务,现在我想在同一个旧端口号上运行另一项服务

我正在使用部署 yaml 文件 ex:nginx 我正在使用端口 30080。现在我编写了另一个部署 yaml 文件,但我想使用端口号 30080。

服务“web”无效:spec.ports[0].nodePort:无效值:30080:>提供的端口已经分配

我如何将端口号 30080 用于我的新部署 web.yaml 文件。1)删除正在运行的nginx pod。2)删除运行中的nginx部署。

但是我怎样才能释放端口号 30080。

我检查了端口号:

sudo iptables-save | grep 30080

-A KUBE-EXTERNAL-SERVICES -p tcp -m comment --comment "default/nginx-service: has no endpoints" -m addrtype --dst-type LOCAL -m tcp --dport 30080 -j REJECT --reject-with icmp-
port-unreachable 
Run Code Online (Sandbox Code Playgroud)

port yaml kubernetes

1
推荐指数
1
解决办法
2485
查看次数