[英]BASH - how can i make the log file accessable via TCP port when-ever requires?
[英]How can I kill TCP port 16969 in Bash?
我有一个使用 TCP 端口 16969 的应用程序。它有时需要快速重新启动软件内核。 但是如果我启动它太快,我就会被锁定
线程“main”中的异常 java.net.BindException:地址已在使用中
所以我想触发我的 Bash 脚本,它可以用 16969 杀死任何正在运行或监听的端口,但是我该怎么做呢?
$ lsof -w -n -i tcp:16969 # this gives me a list of 50 lines but how can I kill them all?
您是否尝试过使用 tcpkill?
例子:
tcpkill -i eth0 port 21
我觉得:
lsof -i tcp:22 | grep LISTEN | awk '{print $2}' | xargs kill
应该做的伎俩。
要在让它松开之前仔细检查它要运行的命令,请在kill
之前添加一个echo
,如下所示:
lsof -i tcp:22 | grep LISTEN | awk '{print $2}' | xargs echo kill
然后它会列出它通常会杀死的 PID
fuser -k 16969/tcp
可以释放那个端口。 这是一个有用的命令,可用于关闭端口,无论它是什么。
我经常在 Netbeans 中使用 JBoss 遇到这个问题......
在终端类型中:
sudo netstat -lnp | grep 8080
然后它显示如下:
tcp6 0 0 :::8080 :::* LISTEN 1722/java
然后使用:
kill 1722 //replace 1722 by the PID you found.
希望它会有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.