1、进程简介
进程是已经启动的可执行程序的运行实例。
程序:二进制文件
进程:是程序运行的过程
2、进程管理
①静态查看进程 ps
[root@localhost ~]# ps aux | head -6
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 126432 7256 ? Ss 03:39 0:08 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0.0 0.0 0 0 ? S 03:39 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 03:39 0:01 [ksoftirqd/0]
root 7 0.0 0.0 0 0 ? S 03:39 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 03:39 0:00 [rcu_bh]
-----------------------------------------------------------------------
USER:运行进程的用户
PID:进程ID
%CPU:CPU占有率
%MEM:内存占有率
VSZ:占用虚拟内存
RSS:占用实际内存
TTY:进程运行的终端
STAT:进程状态【R-运行,S-睡眠,T-停止的进程,Z-僵尸进程,X-死掉的进程】
START:进程的启动时间
TIME:进程占用CPU的总时间
COMMAND:进程文件,进程名
进程的父子关系 ps -ef
[root@localhost ~]# ps -ef | head -4
UID PID PPID(父系) C STIME TTY TIME CMD
root 1 0 0 03:39 ? 00:00:08 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0 0 03:39 ? 00:00:00 [kthreadd]
root 3 2 0 03:39 ? 00:00:01 [ksoftirqd/0]
③动态查看进程top
[root@localhost ~]# top
top - 10:43:11 up 56 min, 2 users, load average: 0.05, 0.05, 0.05
程序名-系统时间 运行时间 登录用户数 CPU负载 1, 1,15分钟
Tasks: 352 total, 2 running, 350 sleeping, 0 stopped, 0 zombie
总进程数 运行数2, 睡眠数350, 停止数, 僵尸数0
%Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
CPU使用占比 us用户 sy系统 ni优先级 id空闲 wa等待 hi硬件 si软件 st虚拟机
KiB Mem : 1001332 total, 514888 free, 178244 used, 308200 buff/cache
物理内存
KiB Swap: 2097148 total, 2097148 free, 0 used. 633804 avail Mem
交换分区
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
优先级 虚拟内存 物理内存 共享内存
2648 root 20 0 148332 2248 1424 R 1.0 0.2 0:01.07 top
1 root 20 0 46372 6808 4048 S 0.0 0.7 0:05.97 systemd
④使用信号控制进程kill
[root@yy ~]# kill -l
1) SIGHUP 重新加载配置
2) SIGINT 键盘中断Ctrl+C
3) SIGQUIT 键盘退出Ctrl+\,类似SIGINT
9) SIGKILL 强制终止,无条件
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 暂停
20) SIGTSTP 键盘暂停Ctrl+Z
⑤进程优先级nice
Linux进程调度及多任务,每个CPU在一个时间点上只能处理一个进程,通过时间片技术,来采用运行多个程序。(高-20~19低)
PR值=nice+20
[root@localhost ~]# ps axo pid,command,nice --sort=-nice
启动具有不同nice级别的进程
启动进程时,通常会继承父进程的nice级别,默认为0
3、专业控制jobs
简介:作业控制是一个命令行功能,也叫后台运行
关键词foregroud(fg)——前台进程 backgroud(bg)后台进程
1、观察占领前台的现象
[root@yy ~]# sleep 20
^C
[root@yy ~]#
运行一个程序,当前终端无效,大部分命令行输入已经无效
Ctrl+C终止进程
2、运行后台程序
[root@yy ~]# sleep 3000 &
[5] 2837
3、ps查看所有进程
[root@yy ~]# ps aux | grep sleep
root 2837 0.0 0.0 107892 624 pts/2 S 12:37 0:00 sleep 3000
4、jobs查看后台进程
[root@yy ~]# jobs
[1] Running nice -n -13 sleep 6000 &
[2] Running nice -n -9 sleep 5000 &
[3] Running sleep 4000 &
[4]- Running sleep 7000 &
[5]+ Running sleep 3000 &
5、调动后台程序至前台
[root@yy ~]# fg 3
sleep 4000
^C
6、消灭后台进程
[root@yy ~]# kill %1
[1] Terminated nice -n -13 sleep 6000
4、虚拟文件系统proc
[root@yy ~]# cat /proc/cpuinfo //查看CPU
[root@yy ~]# cat /proc/meminfo //查看内存
[root@yy ~]# cat /proc/cmdline //查看内核
BOOT_IMAGE=/vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8