一,进程和服务:
服务:是在操作系统内部活依赖网络环境运行的一种软件组件提供特定的功能或服务。服务一般在后台运行,职责包括接受请求,处理数据,执行操作。服务可以是系统自带的,也可以是基于linux开发的应用程序。
服务特点:
1,服务可以通过端口号进行通信
2,服务之间可以相互访问
3,服务以进程方式运行,服务可以自行分配资源,也可以通过管理员限制资源的使用。
进程:是操作系统分配给运行程序的资源单位。
进程特点:
1,在代码中限制了资源的使用,写死的进程所占用的系统资源
2,系统自动分配
3,进程之间相互隔离,彼此之间不能访问
相同点:都是特定功能的软件,服务也是以进程的方式在系统运行,都可以调整对系统资源的使用。
区别:进程之间一般不能互相访问,只能通过系统提供的机制例如共享内存,信号等进行通信。服务是第三方的,进程大部分是系统自带的。
进程存在父进程与子进程之分,系统中需要先启动父进程再启动子进程,父进程分配子进程运行的资源。结束运行后,父进程回收子进程的资源后,父进程才会终止。
ps 查看进程,静态的统计进程信息
-a 显示所有终端上的进程,包括其他用户的进程
-u 列出进程的用户
-x 显示所有终端信息
-e 显示系统内所有的进程信息
-l 长格式展示
-f 使用完整格式
ps -aux下
user表示进程的所属用户
pid表示进程id
%cpu表示进程占用cpu的百分比
%MEM表示进程占用物理内存的百分比
VSZ表示进程使用了多少虚拟内存
RSS表示该进程占用的物理内存里
TTY表示启动进程的终端名,终端会按照启动顺序从1开始,?表示不是从终端启动
STAT表示进程的状态
D:不可中断的休眠
R:正在运行
S:处于可被唤醒的休眠状态
T:停止状态,也可能后台暂停或者处于调试状态
Z:僵尸进程,指的是父进程终止后子进程还在运行(Z状态下进程占用cpu和内存都很小,一般情况下没事,若想杀死只能重启)
START:进程被触发启动的时间
TIME:该进程实际使用的CPU的运行时间。
COMMAND:进程的启动命令
START若有两个字符,一号位为进程的状态,二号位则为进程的描述
< 高优先级
N 低优先级
L 有些页被锁进内存
s 包含子进程
+ 位于前台的进程组
| 多线程或克隆线程
ps -elf下
F:内核分配给进程的系统标记
S:进程的状态
UID:启动这些进程的用户
PID:进程的ID
PPID:进程的父进程进程号
C:生命周期内CPU利用率
PRI:进程的优先级(数字越大优先级越低)
NI:用来决定进程优先级
ADDR:进程的内存地址。
SZ:假如进程被唤出,所需swap大小
WCHAN:若该进程再睡眠,则显示睡眠中的系统函数名。
STIME:进程启动时的系统时间
TTY:进程启动时的终端设备
TIME:运行进程需要的cpu累计时间
CMD:进程的启动命令
kill 传递给cpu终止进程的信号,不能杀死僵尸进程
-9 强制终止
-15 默认,表示进程需要被终止
top 动态查看进程信息,信息会不断更新
-c 根据使用cpu大小进行排序,大的在前小的在后
数字键1 显示cpu个数和运行状态
q 退出
-b -n 1 只允许一次就退出
第一行
top后是系统时间
up后是系统已运行时长
1 user表示当前登录用户数
load avaerage表示系统负载,三个值代表一分钟,五分钟和15分钟前到现在的平均值。
第二行
tasks:总进程数
running:正在运行的进程数
sleeping:休眠的进程数
stopped:中止的进程数
zombie:僵死的进程数
第三行
us:用户占用
sy:内核占用
ni:优先级调度占用
id:空闲CPU,要了解空闲的 CPU 百分比,主要看%id部分
wa:磁盘读写性能 iostat--查看读写性能
hi:1分钟的cpu使用率
si:5分钟的cpu使用率
st:15分钟的cpu使用率
第四行
tota:总内存空间
free:空闲内存
used:已用内存
buff/cache:物理内存和交换内存的缓冲区总和
第五行
total:总交换空间
free:空闲交换空间
used:已用交换空间
avail Mem:可用物理空间
进程信息区
PID:进程id
USER:进程所有者的用户名
PR:优先级 --系统优先级
NI:谦让度值。负值表示高优先级,正值表示低优先级 --人为设置的优先级
VIRT:进程使用的虚拟内存总量,单位kb
RES: 进程使用的物理内存大小,单位kb
SHR:共享内存大小,单位kb
S:进程状态
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:命令名/命令行
Pstree 查看进程的线程
-p 显示进程ip
-u 显示进程的用户
Pgrep 指定进程名查找pid ,一般和kill一起用
-a 根据进程名查找pid
Jobs 查看后台进程的状态信息
-l 显示所有后台进程的pid
-p 显示所有后台进程的进程组id
-n 仅显示最近的后台进程
-r 仅显示正在运行的后台进程
-s 仅显示已停止的后台进程
把程序放在后台的方法:
ctrl+z 放到后台并停止运行
& 后台运行符
fg 调出后台程序
Tty:tty1表示打开的是图形化界面终端 2-6文字界面
Pts:使用远程连接工具进行连接的,越早登陆系统的数字越小
Pkill根据特点条件终止相应进程
-u 根据用户名
-t 根据进程所在终端
Crontab 计划定时任务 * * * * * 分 时 日 月 周
0-59 0-23 1-31 1-12 0-7,07都是星期天
*表示任意时间
,表示间隔多个不连续的时间点
- 表示连续的时间范围
/ 表示间隔的时间频率 */10 * * * *
-e 创建定时任务
-u 指定用户
-l 展示当前定时任务
-r 清空所有定时任务