程序和进程的关系
1、保存在硬盘、光盘等介质中的可执行代码和数据
2、静态保存的代码
进程
1、 在CPU及内存中运行的程序代码
2、动态执行的代码
3、父、子进程:每个进程可以创建一个或多个进程
ps命令-查看静态的进程信息
a:查看当前系统的所有进程
u:指定用户
x:该用户在所有终端下的进程
-e:显示系统内的所有进程信息
-l:使用长格式显示进程信息
-f:使用完整的格式显示进程信息
例如
命令ps-aux:简单列表的形式显示出进程信息
命令ps-elf:以长格式显示系统中的进程信息,输出信息还包括PPID列
实际操作
1、用ps-aux查看当前root的静态进程。
其中USER指当前用户;PID 为进程号(PID为1的是init); %CPU、%MEN指cpu的占用率、内存占用率;VSZ、RSS为虚拟内存、物理内存占用;TTY : 终端(?为未知、大多本地加载为?);STAT : 当前进程状态(S可中断休眠进程、D不可中断休眠进程、s父进程、<代表优先级高、R运行进程、l代表多线性、N优先级低、Z僵尸进程、+前台进程);START:为启动时间;Time:进程占用CPU的总时间;Command :进程名称。
2、用ps-elf查看当前root的静态进程
top命令-查看动态的进程信息
1、 动态信息3s刷新一次
2、显示Tasks、cpu占用、内存占用(Mem)、交换空间(Swap)等汇总信息
pgrep命令-查询进程信息
根据特定条件查询进程PID信息
pgrep-l:同时输出对应的进程名(否则只输出PID号,不便于操作)
pgrep -l -U:查询指定用户的进程
pstree命令-查看进程树
可输出Linux系统中各进程的树形结构
-a:显示完整信息
-u:列出对应用户名
-p:列出对应PID号
1、pstree -aup:查看以树形结构显示的进程(用户必须处于登录状态)
2、指定用户的树形结构进程
1.进程的启动方式
手工启动
调度启动
(1)手工启动
前台启动:用户输入命令,直接执行程序
后台启动:在命令行尾加入“&”符号
(2)调度启动
使用at命令,设置一次性计划任务
使用crontab命令,设置周期性计划任务
1、先把sr0挂载到mnt目录下,将mnt下的packages复制到opt目录下,由于件大小为4.3G,复制过程时间比较长,在命令末尾处加&符号,复制过程转到后台运行。并且不会影响对其它命令的操作。
2、 命令jobs -l查看后台运行进程,即复制操作已完成
改变进程的运行方式
(1)Ctrl + Z组合键
将当前进程挂起,即调入后台并停止执行
(2)jobs命令
查看处于后台的任务列表
(3)fg命令
将后台进程恢复到前台运行,可指定任务序号
将目前进程挂起,即调到后台停止。
终止进程执行
Ctrl + C组成键
中断正在执行的命令
(1)使用kill命令终止进程
Kill、killall命令
Kill用于终止指定PID号的进程
Killall用于终止指定名称的所有进程
-9选项用于强制终止
(2)使用pkill命令终止进程
pkill命令
根据特定条件终止相应的进程
常用命令选项
1、kill -9 18640 终止进程
2、killall -9 vim 终止所有进程
3、pkill -9 -U 强制注销用户·
at命令
1、只在指定的时间点执行一次,前提是对应的系统服务atd必须已经运行
2、一次性计划任务样式
首先用data获取实时时间,设置16:12的定时任务,任务设为定时统计当前所有进程的数量,并把数量写入ps文本当中,最后用ctrl + d组合键提交任务
atq查看一次任务
Crontab周期服务设置
Crontab的配置文件和目录
按照预先设置的时间周期重复执行用户指定的命令操作
属于周期计划任务
主要设置文件
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名
2.使用crontab命令管理用户的计划任务
crontab 选项 [-u 用户名]
常用选项如下:
-e:编辑计划任务列表
-u:指定所管理的计划任务属于哪个用户,默认时针对当前用户(自己)
-l:列表显示计划任务
1、查看crontab配置文件
2、低权限用户有些周期性务无法执行,输入crontab -e编辑计划任务列表
3、来做一个测试,输入命令,使zhangsan目录下的数据文件在每天16:33时间点递归复制到opt目录下
4、编辑完成后保存退出,命令crontab -l查看任务列表