试图杀死端口 8000 混淆的进程
Trying to kill process on port 8000 confusion
我正在编写一个 Ruby 脚本,它在后台的端口 8000 上部署服务器,然后在前台向服务器发出查询。在发出查询后,我终止了服务器,但是当我终止服务器时,它似乎正在切换端口。
我在 ruby 脚本中按以下方式执行此操作:
要在端口 8000 上查看 运行 的 PID:
lsof -i:8000 -t
结果:
RUNNING ON PORT 8000: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 26364 user1 84u IPv6 199069 0t0 TCP *:8000 (LISTEN)
要终止服务器,我发出命令:
kill 26364
然后我查看端口 8000 上是否有任何 运行:
# check if killed
lsof -i:8000 -t
结果:
RUNNING ON PORT 8000: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 25560 user1 58u IPv4 199123 0t0 TCP localhost:45789->localhost:8000 (ESTABLISHED)
java 26364 user1 84u IPv6 199069 0t0 TCP *:8000 (LISTEN)
java 26364 user1 85u IPv6 199124 0t0 TCP localhost:8000->localhost:45789 (ESTABLISHED)
我只想杀掉监听8000端口的进程,
并保留我的 ruby 脚本 运行。
谁能告诉我这是怎么回事?为什么要切换端口?我怎样才能只杀死我的服务器端口?
在我看来它不像是在切换端口;它仍在侦听端口 8000。在我看来,有两件事正在发生:
- java 进程 (PID 26364) 正在捕获或忽略终止信号 (SIGTERM),并继续侦听端口 8000。
一个 ruby 进程 (PID 25560) 正在连接到 localhost:8000(来自可能是动态分配的端口 45789)。也就是说,ruby 正在正常连接到端口 8000 上的服务器。
注意java进程拥有localhost:8000<->localhost:45789 TCP会话的端口8000端,ruby进程拥有端口45789端。
ruby 进程的连接是 kill 信号的某种结果,还是恰好同时发生的事情,我无法告诉你。
我正在编写一个 Ruby 脚本,它在后台的端口 8000 上部署服务器,然后在前台向服务器发出查询。在发出查询后,我终止了服务器,但是当我终止服务器时,它似乎正在切换端口。
我在 ruby 脚本中按以下方式执行此操作:
要在端口 8000 上查看 运行 的 PID:
lsof -i:8000 -t
结果:
RUNNING ON PORT 8000: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 26364 user1 84u IPv6 199069 0t0 TCP *:8000 (LISTEN)
要终止服务器,我发出命令:
kill 26364
然后我查看端口 8000 上是否有任何 运行:
# check if killed
lsof -i:8000 -t
结果:
RUNNING ON PORT 8000: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 25560 user1 58u IPv4 199123 0t0 TCP localhost:45789->localhost:8000 (ESTABLISHED)
java 26364 user1 84u IPv6 199069 0t0 TCP *:8000 (LISTEN)
java 26364 user1 85u IPv6 199124 0t0 TCP localhost:8000->localhost:45789 (ESTABLISHED)
我只想杀掉监听8000端口的进程, 并保留我的 ruby 脚本 运行。
谁能告诉我这是怎么回事?为什么要切换端口?我怎样才能只杀死我的服务器端口?
在我看来它不像是在切换端口;它仍在侦听端口 8000。在我看来,有两件事正在发生:
- java 进程 (PID 26364) 正在捕获或忽略终止信号 (SIGTERM),并继续侦听端口 8000。
一个 ruby 进程 (PID 25560) 正在连接到 localhost:8000(来自可能是动态分配的端口 45789)。也就是说,ruby 正在正常连接到端口 8000 上的服务器。
注意java进程拥有localhost:8000<->localhost:45789 TCP会话的端口8000端,ruby进程拥有端口45789端。
ruby 进程的连接是 kill 信号的某种结果,还是恰好同时发生的事情,我无法告诉你。