如何一个命令停止某个端口的服务进程
来源:互联网 发布:网络兼职招聘网站 编辑:程序博客网 时间:2024/05/18 00:12
我们先看看这么做的过程,把处理方式整理一下,然后才能用程序处理:
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
unix 2 [ ACC ] STREAM LISTENING 827412 23946/ /tmp/mysql.sock
unix 2 [ 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的介绍,挺使用的
当然,有更加精简的写法,这里只是描述思路的实现
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
unix 2 [ ACC ] STREAM LISTENING 827412 23946/ /tmp/mysql.sock
unix 2 [ 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的介绍,挺使用的
当然,有更加精简的写法,这里只是描述思路的实现
0 0
- 如何一个命令停止某个端口的服务进程
- 如何一个命令停止某个端口的服务进程
- 如何一个命令停止某个端口的服务进程
- windows命令:启动停止某个服务
- Linux命令如何关闭一个进程,如何关闭端口号
- WINDOWS进程端口服务命令
- linux 通过哪个命令可以查看某个服务及其端口、进程号
- linux 通过哪个命令可以查看某个服务及其端口、进程号
- 如何判断某个服务的某个端口是否正常或是打开
- 通过cmd命令查看某个端口的进程pid和并关闭该进程的操作
- 通过cmd命令查看某个端口的进程pid和并关闭该进程的操作
- 用Linux命令查看当前某个进程A,并查找该进程所占用的端口
- windows下关于如何查询现在某个端口是否被占用,占用这个端口的进程
- android 通过linux命令来停止某个进程
- 找出占用某个端口的服务
- 查看某个端口占用的进程
- Windows_杀死占用某个端口的进程
- mac 杀掉占用某个端口的进程
- pluto实现分析(2)——代码函数调用关系
- Java Iterator与ListIterator的主要区别
- JQUERY在线引用地址
- 设计模式之原型模式(深入理解OC中的NSCopying协议以及浅拷贝、深拷贝)
- java处理高并发高负载类网站的优化方法
- 如何一个命令停止某个端口的服务进程
- Mac OS X pl2303 的驱动下载
- 通过View寻找ViewController
- Spring随笔6
- Swift之泛型(Generics)
- pluto实现分析(3) ——主要数据结构
- http://blog.csdn.net/chenli522/article/details/17001823
- leetcode-Delete Node in a Linked List
- iOS(9) SDWebImage 里面给 UIImageView 加载图片的逻辑是什么样的