进程:
是程序运行的过程, 动态,有生命周期的,可以产生和消亡的(进程是已启动的可执行程序的运行实例,实例即运行可执行程序)
线程:
线程是进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程;一个进程至少包括一个线程,通常将该线程称为主线程;一个进程从主线程的执行开始,进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
父进程:
静态查看
ps ps aux
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率
VSZ: 占用虚拟内存
RSS: 占用实际内存 驻留内存
TTY: 进程运行的终端
STAT: 进程状态 man ps (/STATE)
进程状态:R 运行
S 可中断睡眠 Sleep
T 停止的进程
Z 僵尸进程
X 死掉的进程 Ss s进程的领导者,父进程
S< <优先级较高的进程
SN N优先级较低的进程
R+ +表示是前台的进程组
Sl 以线程的方式运行 START: 进程的启动时间
TIME: 进程占用CPU的总时间
COMMAND: 进程文件,进程名
ps aux --sort %cpu 从小到大(cpu)
ps aux --sort -%cpu 从大到小后面可以可以接管道 ps aux --sort -%cpu | head -2 cpu占用最大
yum -y install xxxx下载xxxx
yum provides xxxx 查找xxxx的对应软件包
systemctl start xxx启动xxx
ps -elf -e显示所有进程
-l长格式显示
-f完整格式
ps axo pid,comm,pcpu (| grep xxxx)# 查看(xxxx)进程的PID、名称以及CPU 占用率 ps axo user,pid,ppid,%mem,%cpu,command --sort -%cpu | head
pgrep命令 以名称为依据从运行进程队列中查找进程,并显示查找到的进程id
pidof命令用于查找指定名称的进程的进程号id号
lsof命令 用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行
lsof -i:22 查看端口为22的进程
w命令 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息
who命令当没有给出非选项参数时,按以下字段顺序为每个当前用户打印信息:登录用户名称,终端信息,登录时间,远程主机或X display。
动态查看进程
top
top -d 1 -b -n 2 > top.txt 将2次top信息写入到文件
us 用户空间占用CPU百分比,sy 内核空间占用CPU百分比,ni 用户进程空间内改变过优先级的进程占用CPU百分比,id 空闲CPU百分比,wa 等待输入输出的CPU时间百分比,hi 硬件中断,si 软件中断,st: 实时
快捷键M 按内存排序 快捷键P 按CPU排序,快捷键1 显示所有CPU负载,快捷键q退出
htop
上左区:显示了CPU、物理内存和交换分区的信息;
上右区:显示了任务数量、平均负载和连接运行时间等信息;load average 后面三个分别是1分钟5分钟15分钟的平均负载
进程区域:显示出当前系统中的所有进程;
操作提示区:显示了当前界面中F1-F10功能键中定义的快捷功能。
F1:显示帮助信息
F2:配置界面中的显示信息;
F3:进程搜索;
F4:进程过滤器;
//search会将光标定位到符合条件的进程上,通过F3键进行逐个查找;而filter会直接将符合条件的进程筛选出来。
F5:显示进程树;
F6:排序;
F7:减小nice值;
F8:增加nice值;
F9:杀掉指定进程;
常用参数:
u:显示指定用户的进程
退出 q
网络进程
netstat -auntpl | grep 22 过滤22号端口 ss 推荐使用查看网络进程ss -antpl | grep 22
-a 所有的进程
-u udp进程
-n 显示端口号 5900 vnc 21、20 ftp ssh 22 http 80 (apache,nginx) https 443 mysql/mariadb 3306 php 9000 redis 6379 tomcat(8009 8080 8005)
-t tcp进程
-p 显示程序的pid 和 名称
-l listening 监听的进程
TCP(传输控制协议)和UDP(用户数据报协议)是两种常用的网络传输协议。
TCP是一种面向连接的协议,它提供可靠的数据传输。在TCP通信中,数据被分成多个小片段,每个片段都会被编号和校验,确保数据完整性。TCP使用确认机制,确保数据的可靠性,如果发送方没有收到确认信息,会重新发送数据。TCP还处理拥塞控制,根据网络条件动态调整数据传输的速率。TCP适用于需要保证数据完整性和可靠性的应用,如文件传输、电子邮件等。
UDP是一种面向无连接的协议,它提供不可靠的数据传输。在UDP通信中,数据被封装成数据包,直接发送给接收方,不需要建立连接。UDP不提供数据校验、确认机制和拥塞控制,因此传输速度较快,但容易发生数据丢失。UDP适用于实时传输要求较高的应用,如音频、视频流等。
总体来说,TCP是可靠的、有序的、面向连接的传输协议,而UDP是简单的、不可靠的、无连接的传输协议。选择TCP还是UDP要根据具体的应用需求来确定。