一、程序和进程的关系

1、程序

①保存在硬盘、光盘等介质中的可执行代码和数据 ②静态保存的代码

2、进程

①在cpu及内存中运行及进程代码 ②动态执行的代码 ③父(fork)、子进程,每个程序可以创建一个或多个进程 父进程和子进程的区别:父进程产生PPID 子进程产生PID

3、三种回收状态:

①当子进程完成工作后,父进程回收子进程系统给予的资源 ②当子进程完成工作后,父进程不回收,称为“僵尸进程” ③当子进程完成工作后,没有父进程回收,称为“孤儿进程”。会用systemd来回收

4、进程状态:

①运行状态 ②睡眠状态可中断状态 ③睡眠状态不可中断状态(不可强制唤醒) ④僵尸状态 ⑤停止状态 在同一个进程:只能按顺序来排队运行,按cpu时间片来处理进程

5、查看的命令

ps aux 查看系统进程

ps -ef 查看系统进程

ps a 显示现行终端机下的所有程序,包括其他用户的程序

ps -A 显示所有程序

ps c 列出程序时,显示每个程序真正的指令名称,而不包括路径,参数或常驻服务的标示

ps f 用ASCII字符显示树状结构,表达程序的相互关系

ps u 以用户位主的格式来显示程序状况

load average:平均负载cpu参数

ps -o user,pid 指定user,pid查看

top -d 5 设置刷新时间5秒

top -p +进程号(PID) 直接查看单独的进程

查找某个进程:ps aux | grep vim

ps aux | grep vim |grep -v grep

pstree -u 查看进程是谁产生,是谁在用

pstree -p 不仅查看进程,还可以显示PID进程号

pgrep -l +进程名 不仅查看进程,还可以查看进程号

pgrep -u +名称(tom) 指定一个用户查看

pgrep -u tom -l 指定一个用户看tom的用户进程和进程号

kill +进程号PID 中止

kill -9 +进程号 强制杀死(只会杀死一个)

killall + 名称(vim) 直接用名称杀死(杀死下面所有的进程)

kill -15 走正规流程

kill -1 重启

pkill -9 + 名称 杀死

jobs 查看后台的进程

fg +1(后台排序号)调到前台

bg +4 (后台排序号) 在后台恢复运行

cp /dev/sr0 /tom & 在后台运行

kill -9 %1(后台排序号) 在后台杀死

命令模式下: Ctrl+z 从前台调到后台 名称+& 从前台调到后台 Ctrl+c 中断

二、查看进程信息ps

1、ps aux命令下面查看的信息:

a:显示终端上的所有进程,包括其他用户的进程 u:标识;列出进程的用户 x:显示所有终端的进程 各列的解释: (1)USER: 用户 (2)PID: 进程号 (3)%MEM:占用cpu的百分比 (4)VSZ:分配的虚拟内存 (5)RSS:实际占用的物理内存 (6)TTY终端:?表示不依赖终端;tty1 本地登录;Pts/0 远程链接终端 (7)STAT状态:

S :睡眠状态可中断D:不可中断睡眠状态R: 正常运行I :僵死状态T :停止状态小s :控制性的进程小于号 < :具有高优先级N :低优先级+ :当前进程运行在前台小l :是多线程的 (8) START:进程出发的时间 (9)TIME:一共占用cpu时间 (10)COMMAND:执行命令 (11)中括号[]内核产生——内核态 (12)没有中括号[]用户产生——用户态

2、ps -efl命令下面的查看信息

-e:显示系统内的所有进程信息 -l:使用长格式显示进程信息 -f:使用完整的格式显示进程信息

各列的解释: (1)F:内核分配给进程的系统标记 (2)S:进程的状态 (3)UID:启动这些进程的用户 (4)PID:进程的进程ID (5)PPID:父进程的进程号 (6)C:进程生命周期中的CPU利用率 (7)PRI:进程的优先级 (8)NI:谦让度值用来参与决定有先级(PRI和NI是成对出现的,只能修改NI值才能改变PRI的值) (9)ADDR:进程的内存地址 (10)SZ:假如就能成被换出,所需交换空间的大致大小 (11)WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名 (12)STIME:进程启动时的系统时间 (13)TTY:进程启动时的终端设备 (14)TIME:运行进程需要的累计CPU时间 (15)CMD:进程的启动命令

三、TOP命令查看

1、每行对应的信息

(1)第一行任务队列信息 ①22:34:03:系统时间 ②up 12:22:系统已运行时长 ③4 user:当前登录用户数 ④load average:0.00,0.01,0.05:系统负载,即单位时间内系统处理的任务数。 (2)第二行为进程信息 ①Tasks:总进程数 ②running:正在运行的进程数 ③sleeping:休眠的进程数 ④stopped:中止的进程数 (3)第三行CPU的信息 ①us:用户占用 ②sy:内核占用 ③ni:优先级调度占用 ④id:空闲CPU,想要了解空闲的CPI百分比,主要还是看%id部分 ⑤wa:I/O等待占用 ⑥hi:硬件中断占用 ⑦si:软件中断占用 (4)第四行内存的信息 ①total:总内存空间 ②free:空闲内存 ③used:已用内存 ④buff/cache:物理内存和交换内存的缓冲区总和 (5)第五行交换空间的信息 ①total:总交换空间 ②free:空闲交换空间 ③used:已用交换空间 ④avail Men:可用物理空间

2、进程信息区对应的解释

进程信息区的解释 (1)PID:进程id (2)USER:进程所有者的用户名 (3)PR:优先级 (4)NI:谦让度值,负值表示高优先级,正值表示低优先级 (5)VIRT:进程使用的虚拟内存总量,单位kb (6)RES:进程使用的虚拟内存大小,单位kb (7)SHR:共享内存大小,单位kb (8)S:进程状态 (9)%CPU:上次更新带现在的CPU时间占用百分比 (10)%MEM:进程使用的物理内存百分比 (11)TIME+:进程使用的CPU时间总计,单位1/100s (12)COMMAND:命令名/命令行

3、top常用命令

①c键:切换显示命令名称和完整命令行 ②h键:可以获得top程序的在线帮助信息 ③M键:根据驻留内存大小进行排序 ④P键:根据CPU使用百分比大小进行排序 ⑤N键:根据启动时间进行排序 ⑥k键:根据提示输入指定进程的PID号并按Enter键终止对应的进程 ⑦z键:可以改变颜色 ⑧s键:更改时间 ⑨1键:显示所有的cpu ⑩q键:退出top程序

4、tty终端

①Centos7系统,tty1 表示的是图形界面,tty2-6表示文字界面,可以用Ctrl+Alt+F1-F6切换 ②pts说明是远程工具连接的,如Xshell,后面的数字代表登录的时间顺序,越小证登录的时间越早6855771 四、查看进程信息–pgrep 1、pgrep命令 (1)pgrep -l +”进程号关键字“ 指定查看进程名 例如:①在第一个会话框中输入:vim /etc/fstab,

②打开进程后在复制会话框,来查看第一个会话框进程信息,然后进入第二个会话框中,使用pgrep -l “vim”的进程 (2)pgrep常用选项 ①pgrep -l “进程关键字” -U 指定特定用户 先创建一个新的用户“lisi”,并设置密码。完成后将切换用户,并再次输入命令:vim /etc/fstab 再次来到复制框来查看指定用户的“vim”进程 ②prep -l “进程关键字” -t 指定的终端

四、查看进程树–pstree

1、pstree命令—以树形结构列出进程信息 pstree -aup 用户名 以树形结构完整列出对应用户名及进程号 示例:现在在新的用户lisi里面创建一个新的文件,并进入编辑 在复制框会话中以树形结构完整列出lisi的进程号

五、进程的启动方式

1、手动启动

①前台启动:用户输入命令,直接执行程序 ②后台启动:在命令行尾加入“&”符号

2、调度启动

①使用at命令,设置一次性计划任务 ②使用crontab命令,设置周期性计划任务

3、进程的前后台调度

①Ctrl+z组合键 将当前程序挂起,即调入后台并停止执行 ②jobs命令 jobs -l 查看处于后台的任务列表 ③fg命令 将后台进程恢复前台运行,可指定任务序号七、终止进程的运行 1、Ctrl c、kill、killall ①Ctrl+c组合键:中断正在执行的命令 2、kill、killall命令 ①kill用于中止指定PID号的进程 ②killall用于终止指定名称相关的所有进程 ③-9选项用于强制终止 3、pkill 根据特定条件终止相应的进程 ①-U:根据进程所属的用户名终止相应进程 ②-t:根据进程所在的终端终止相应程序

六、计划任务管理–at

1、at命令 一次性计划任务:a t [HH:MM] [yyyy-mm-dd] 2、命令格式

七、计划任务管理 --crontab

(1)crontab命令 (2)按照预先设置的时间周期(分、时、日、月、周)重复执行用户指定的命令操作 (3)属于周期性计划任务 (4)主要设置文件 ①全局配置文件,位于文件:/etc/crontab ②系统默认的设置,位于目录:/etc/cron.*/ ③用户定义的设置,位于文件:/var/spool/cron/用户名

1、管理crontab计划任务

①编辑计划任务:crontab -e -u 用户名 -u缺省时默认当前用户 ②查看计划任务:crontab -l -u 用户名 ③删除计划任务:crontab -r -u 用户名

2、crontab任务配置的格式

3、时间数值的特殊表示方法

*:表示该范围内的任意时间 ,:表示间隔的多个不连续时间点 -:表示一个连续的时间范围 /:表示间隔的时间频率

应用示例:

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: