一个进程有很多个端口号(对内),只有一个端口号(对外)
1、关于进程pid
进程管理会用到的命令
命令 | 含义 |
---|---|
ps -ef | 查看系统中的进程 |
grep | 将后台进程中指定的文件过滤出来 |
grep -v | 过滤排除 |
kill -9 pid | 杀死进程 |
kill -9 $(pgrep -f tail) | 杀死关于tail命令的所有进程 |
kill -9 pid
杀死多个进程:kill -9 2873 3764
pgrep -f tail 将tail过滤出来的进程打印出来
[root@hadoop001 ~]# echo $(pgrep -f tail)
将打印出来的进程由纵列变成横列
[root@hadoop001 ~]# kill -9 $(pgrep -f tail)
杀死关于tail命令的所有进程
提醒:生产上假如非要执行kill杀进程,一定要确认清楚是否真的需要kill
查看进程执行如下:
[root@hadoop001 ~]# ps -ef|grep tail
root 3140 2981 0 02:05 pts/1 00:00:00 tail -F tail.log
root 3144 2919 0 02:06 pts/0 00:00:00 grep tail
[root@hadoop001 ~]# ps -ef|grep tail | grep -v grep
root 3140 2981 0 02:05 pts/1 00:00:00 tail -F tail.log
[root@hadoop001 ~]# ps -ef|grep 2981
root 2981 2977 0 01:28 pts/1 00:00:00 -bash
root 3140 2981 0 02:05 pts/1 00:00:00 tail -F tail.log
root 3172 2919 0 02:19 pts/0 00:00:00 grep 2981
[root@hadoop001 ~]#
2、关于端口号port
查找端口号是先通过进程名称找到pid ,再通过pid找到该进程的端口号
以ssh为例
[root@hadoop001 ~]# ps -ef|grep ssh
root 1475 1 0 Jun19 ? 00:00:00 /usr/sbin/sshd
root 2915 1475 0 01:09 ? 00:00:01 sshd: root@pts/0
root 2977 1475 0 01:28 ? 00:00:00 sshd: root@pts/1
root 3230 2919 0 02:42 pts/0 00:00:00 grep ssh
[root@hadoop001 ~]# netstat -nlp|grep 1475
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1475/sshd
tcp 0 0 :::22 :::* LISTEN 1475/sshd
[root@hadoop001 ~]#
ssh服务的端口是22,一般ssh端口号不能为22,需要调整,防止攻击
端口号对外服务的ip地址,假如为127.0.0.1或localhost,只能在这台的机器上访问这个服务。
一般这个地址为机器的ip或0.0.0.0 或 :::,表示对外的任意ip可以服务
过滤进程的正常流程:
进程名称–>pid–>port
可以通过port检验端口号是否正确是否变更