`
bayaci
  • 浏览: 286078 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux下通过端口杀死进程

 
阅读更多
1 netstat -nlp 查看占用端口号的服务
2 找到该端口号的进程
3 找到该进程id
4 kill它

程序可以一点一点来:

1 查看占用端口号的服务

[root@aslibra root]# netstat -nlp
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:3306 0.0.0.0:* LISTEN 23946/
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 12711/
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3936/httpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 3910/
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3753/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3786/
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix2 [ ACC ] STREAM LISTENING 827412 23946/ /tmp/mysql.sock
unix2 [ ACC ] STREAM LISTENING 733272 12711/ ./mysql.sock


(省掉了一些内容)

2 可以用grep筛选一下,看看规律,找到有 :3306 的一行就好
用管道符给grep处理:

[root@aslibra root]# netstat -nlp | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 23946/


既然取出一行了,那就容易了,再筛选一下,用awk分割取出其中一个

3 读取出端口号

[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}'
23946/


意思是取第七个字段,这里默认应该是用tab字符分割的,已经读取出来了,但是还得拿到/前面的数字

4 取/前面的数字就可以了,这里还是可以用awk处理

[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'
23946


意思是用/符号分割,取第一部分

5 然后把这个数字传给kill就可以

kill命令不能跟在管道符后面继续处理了,会出错的

[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }' | kill
kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec]


需要用到"[']"操作符,它可以执行一个语句,这个可以如此执行:

kill [']netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'[']


好了,任务完成了,之后贴一下awk的介绍,挺使用
当然,有更加精简的写法,这里只是描述思路的实现

分享到:
评论

相关推荐

    Linux下Tomcat的启动、关闭、杀死进程

    ### Linux下Tomcat的启动、关闭、杀死进程 在Linux环境下管理Apache Tomcat服务器是非常常见的运维操作之一。本文将详细介绍如何在Linux系统中启动、关闭以及强制终止(杀死)Tomcat进程。 #### 一、启动Tomcat ...

    Linux查找占用的端口,并杀死进程的方法

    以上这篇Linux查找占用的端口,并杀死进程的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:linux 查看端口占用命令实例详解Linux查看端口、进程...

    Shell脚本实现根据端口号kill相应进程功能

    - 杀死进程是危险的操作,尤其是强制杀死进程可能会导致数据丢失或其他副作用。因此,一般建议先尝试使用`kill`命令发送SIGTERM信号,给予进程自行关闭的机会。 - 应用谨慎使用`kill -9`,特别是在脚本自动化处理时...

    Python语言实现获取主机名根据端口杀死进程

    接下来,根据端口杀死进程是另一种常见的任务,特别是在系统管理和自动化脚本中。这里,开发者使用`netstat`命令查找与特定端口(如8998)关联的进程ID(PID),然后使用`kill`命令终止该进程。Python代码如下: ``...

    解决linux系统中运行node进程却无法杀死进程的问题

    在Linux操作系统中,Node.js进程可能会遇到无法正常关闭或杀死的情况,这通常与进程管理、端口占用以及异常处理有关。本文将深入探讨这个问题,并提供解决方案及相关的Linux命令用于管理和控制Node.js进程。 首先,...

    Linux查看端口、进程情况及kill进程的方法

    发现并没有8080端口的Tomcat进程。 使用命令:netstat –apn 查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进程占用。 进一步使用命令:ps -...

    linux查看进程指令

    例如,`pkill firefox`将杀死所有名为`firefox`的进程。 ### htop:增强版top `htop`是一个功能更强大的进程查看器,它提供了更多的信息和交互性。与`top`相比,`htop`支持颜色编码,可以滚动查看所有进程,而且...

    Linux 查看端口的占用情况并找出并杀死占用进程的方法

    然而,在某些情况下,例如某个进程未正常关闭导致端口被占用,可以使用`killall`命令杀死指定的进程,如`killall sshd`,这会结束所有名为sshd的进程。但请注意,这会导致所有依赖于该服务的连接断开,比如SSH连接。...

    LINUX下简单的命令

    **注意**:使用`kill -9`会直接杀死进程而不会执行任何清理工作,可能导致数据丢失或不一致,应谨慎使用。 #### 3. 文件与目录操作 这些命令用于进行基本的文件与目录管理: - `ls`:列出当前目录下的文件和子...

    Linux进程管理和日志管理

    - **杀死根目录下的进程**:`fuser -k /root` 杀死访问 `/root` 的进程。 **16. 查看文件使用情况** - **查找使用特定库的进程**:使用 `lsof /lib/tls/libc-2.3.2.so` 查看哪些进程使用了这个共享库。 - **...

    ubuntu查杀进程方法

    `killall` 命令可以基于进程名来杀死所有匹配的进程。 - **基本用法**:`killall [选项] name` - **示例**:`killall firefox`,终止所有名为firefox的进程。 3. **使用`pkill`命令** `pkill` 命令同样可以...

    如何解决windows系统和linux系统中端口被占用的问题

    - 使用`taskkill`命令可以直接杀死进程,如`taskkill /pid 进程ID /F`。 - 如果知道进程名称,也可以通过`taskkill /im 进程名 /F`来结束进程。 2. **检查是否成功释放**: - 再次运行`netstat -a -n | findstr ...

    shell-_-Linux-.zip_shell 进程

    通过指定进程名称,它使用`pgrep`命令快速找到对应进程的ID,方便进一步的操作,比如杀死进程。 6. **GetProcCpu.sh**:这个脚本可能用于跟踪进程的CPU使用率。它可以结合`ps`命令和`awk`来计算每个进程的CPU占用,...

    Python根据服务获取端口号的方法

    这里定义了另一个函数`port`,它调用`processinfo`获取PID,然后执行`netstat`命令,通过管道传递给`findstr`(在Windows上)或`grep`(在Linux上),过滤出与PID相关的端口号信息: ```python import os def port...

    Linux基础知识(10-10)-进程管理.pdf

    解决方法是杀死父进程,让孤儿进程被`init`收养,进而释放资源。 理解并熟练掌握这些Linux进程管理知识对于系统管理员和开发者至关重要,它们有助于优化系统性能、监控进程状态以及排查问题。有效的进程管理是保证...

    Shell脚本实现Linux系统和进程资源监控

    使用`ps`命令结合`grep`和`awk`来查找指定用户下的特定进程ID。例如,`ps -u $PsUser|grep $PsName`用于获取用户$PsUser的$PsName进程,然后通过`grep -v`排除无关的grep进程,最后使用`sed`和`awk`提取第一行的...

    Linux下Tomcat重新启动

    kill 命令可以直接杀死 Tomcat 的进程,例如 kill -9 7010。注意,使用 kill 命令需要小心,因为它可能会导致 Tomcat 的进程突然终止。 在关闭 Tomcat 之后,我们可以使用 ps 命令来检查 Tomcat 是否已经关闭。如果...

    Linux中解除端口占用的方法

    3. 用`kill -s 9 <PID>`杀死占用端口的进程,其中是实际的进程ID。 4. 通过`ps`命令确认进程已终止。 了解这些基本操作后,你就能在需要时有效地解决端口占用问题。当然,确保正确操作以避免误杀重要服务的进程。...

Global site tag (gtag.js) - Google Analytics