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
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 }'[']
如何查看程序占用的端口
一、
查看所有进程占用的端口
在开始-运行-cmd,输入:netstat
–ano可以查看所有进程
二、查看占用指定端口的程序
当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令
netstat
–ano|findstr
“指定端口号”
二、查看占用指定端口的程序
当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令
netstat
–ano|findstr
“指定端口号”
二、查看占用指定端口的程序
当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令
netstat
–ano|findstr
“指定端口号”
如:查询占用了8080端口的进程:netstat
-ano|findstr
"8080"
三、通过任务管理器杀死相关的进程
方法一:使用任务管理器杀死进程
打开任务管理器->查看->选择列->然后勾选PID选项,回到任务管理器上可以查看到对应的pid,然后结束进程
当然上面的方法有时候不好用,就是任务管理器中的进程比较多的时候,然后去找到对应的进程是很麻烦的,所以还有一种方法可以杀死进程的
方法二:使用命令杀死进程
1>首先找到进程号对应的进程名称
tasklist|findstr
进程号
如:tasklist|findstr
3112
2>然后根据进程名称杀死进程
taskkill
/f
/t
/im
进程名称
如:taskkill
/f
/t
/im
/javaw.exe
端口号如下:
1. 查找占用的程序。
端口号:netstat -apn | grep 4040
最后一项显示的是pid和对应的名称。
2. 杀掉对应的进程,彻底杀死进程。
端口号:kill -9 26105
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 }'[']
netstat -nlp 查看占用端口号的服务;
找到该端口号的进程;
找到该进程id;
kill它。
程序可以一点一点来:
查看占用端口号的服务
[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
可以用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分割取出其中一个
读取出端口号
[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}'
23946/
意思是取第七个字段,这里默认应该是用tab字符分割的,已经读取出来了,但是还得拿到/前面的数字
取/前面的数字就可以了,这里还是可以用awk处理
[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'
23946
意思是用/符号分割,取第一部分
然后把这个数字传给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 }'[']
lseek函数如何根据whence参数移动Linux文件的读写位置?
在Linux C编程中,我们经常需要用到几个与文件操作密切相关的函数,如dup、open和fseek。首先,我们需要包含两个表头文件:<sys\/types.h> 和 <unistd.h>。关键的函数是 off_t lseek(int fildes, off_t offset, int whence);。这个函数用于控制已打开文件的读写位置。每当文件被打开时,读写位置...
linux 怎么根据进程号查找进程
lsof -p pid 可以查看单进程相关内容 也可以ps aux|grep pid进行查找
Linux中怎样根据文件名长度进行排序(注意,是文件名长度,不是文件的大...
没有文件长度排序选项,首先问你同样文件名长度情况下如何排序呢?下面举例子给你看看,应该就满足你要求了,-x,字母排序,-rx,字母排序完后再逆序,[root@test tmp]# mkdir temp [root@test tmp]# cd temp [root@test temp]# touch a [root@test temp]# touch ab [root@test temp]# touch...
linux怎么根据diff信息制作补丁
就是 difference 的意思。这个东西是 diff 命令生成的“区别”数据,也就是两个源代码目录他会识别出有什么不同点并且输出为 diff 文件特有的格式。这个输出的文件可以用 patch 命令打在旧版本的源代码上来实现变成新版本的源代码。这种升级源代码版本的办法,可以很好的解决每次下载源代码都要重头全部...
linux shell 如何根据当前日期获取下月日期
[seesea@CU ~]$ date +%Y%m201307[seesea@CU ~]$ date -d"next month" +%Y%m201308[seesea@CU ~]$ date -d"next month" +%Y%m0120130801 lz 试试楼下的代码在 12 月份的情况就知道谁的对谁的错了。看来正确的答案只有管理员才有眼光选上啊。
linux 如何判断文件挂载是否成功?根据什么样的返回值?
linux的命令一般在正确执行后会返回0,执行失败的返回值都不一样。echo $?可以看到上一条命令的返回值。也可以直接在命令后用||,&&等符号,当命令执行成功时,||后的命令不会执行,当命令失败时,&&后的命令不会执行。许多命令都支持-v选项,输出详细信息,可以用awk,cut等命令截取其中的特征进行...
Linux根据源地址ip路由
该特性在Linux4.4版本引入,一个难以被大家发现的好处是,基于源地址路由,没有做地址转换,并不会在nf_conntrack中添加记录 它是对源IP和目标IP进行哈希处理(端口不参与哈希的计算)计算选路。配置的命令如下:weight代表权重
linux下文件权限设置中的数字表示权限,比如777,677等,这个根据什么得来...
根据chmod ABC file。其中A、B、C各为一个数字,分别表示User、Group、及Other的权限。A、B、C这三个数字如果各自转换成由“0”、“1”组成的二进制数,则二进制数的每一位分别代表一个角色的读、写、运行的权限。比如User组的权限A:如果可读、可写、可运行,就表示为二进制的111,转换成十进制...
Linux下怎么查看内存使用情况和CPU利用率?
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: $ top -u oracle2. 释义:PID:进程的ID USER:进程所有者 PR:进程...
ausearch命令如何根据不同的参数搜索审计记录?
ausearch命令是一种强大的工具,专门用于在Linux系统中搜索审计记录。这个命令需要以root权限运行,以确保对系统日志的完整访问。它的基本语法格式是 ausearch [参数],其中参数选项为搜索记录的关键依据。一些常用的参数选项包括:-f:用于基于文件名的搜索,可以指定特定的日志文件进行查找。-c:通过命令行...