Linux--进程和计划任务管理

程序和进程的关系

  • 程序
    • 保存在硬盘、光盘等介质中的可执行代码和数据
    • 静态保存的代码
  • 进程
    • 在 CPU 及内存中运行的程序代码
    • 动态执行的代码
  • 父、子进程
    • 每个进程可以创建一个或多个进程

查看系统进程信息-ps命令

# yum provides pstree		//查询pstree命令属于哪个程序包
# yum provides */pstree
ps  静态展示
 a:所有与进程有关的进程
 u:以用户为主的格式显示进程信息
 x:所有与终端无关的进程
VSZ:虚拟内存
RSS:物理内存
STAT:S-休眠 R-运行 Z-僵死 <-高优先级 N-低优先级 s-父进程 +-前台进程 l-多线程  T停止
TIME:进程占用cpu的时间
VIRT:占用swap内存大小
PR:优先级
RES:占用物理内存大小
SHR:共享内存大小,两个进程间通信时所需
START :开启时间
查找某个进程常用命令:
#ps aux | grep "bash"
ps aux | wc -l 统计有多少进程

top 查看进程信息命令

各进程(任务)的状态监控属性解释说明:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
#top -d 1	//一秒钟刷新一次

pgrep 根据条件查询进程信息

pgrep命令
根据特定条件查询进程 PID 信息
#pgrep -lu root		//查看root用户开启的进程与PID
#pgrep -l -U zhangsan -t tty1	//指定张三用户在tty1终端下运行的进程
4.pidof 
#pidof sshd		//查看sshd进程的PID

pstree树形结构查看进程

pstree		//树形结构查看进程,主要展示了进程与进程之间的关系。
-a:显示完整信息
-u:列出对应用户名
-p:列出对应PID号
#pstree -aup		//查看进程树详细信息
#pstree -aup root	//查看root用户打开的进程

进程控制

cp /dev/cdrom aa.iso &  //将此命令过程调入后台执行
jobs -l // 查看后台程序及其编号
fg 1 //将后台程序编号为1的调入前台
bg 1  //将后台程序编号为1的任务恢复启动

终止进程

#pgrep -l "sshd"		//查询sshd的PID
#ps aux | grep "sshd"		//更加详细的查看PID
#kill 2888			//将查询到的PID进行执行操作
#pgrep -l "sshd"		//再次查看时,没有信息
选项 -9		//强制杀死进程,
如:使用vim打开一个文件,使用Ctrl+z挂起后无法使用kill杀死,则需-9选项
3.killall		//使用进程名结束进ki程
killall -9 vim		//结束vim的所有进程

4.pkill		//根据进程名称、运行该进程的用户、进程所在终端进行终止进程
-U	//指定用户
-t	//指定终端
#pgrep -lu "zhangsan"		//查看张三所开启的进程
#pkill -9 -U "zhangsan"		//强制结束用户张三所有进程

计划任务管理-at命令

at命令
一次性计划任务
at  [HH:MM]  [yyyy-mm-dd]

atq //查看未执行的任务列表
atrm 2 //删除第二条任务

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

编辑计划任务
crontab  -e  [-u  用户名]
查看计划任务
crontab  -I  [-u  用户名]
删除计划任务
crontab  -r  [-u  用户名]		//删除整个任务计划项目

时间数值的特殊表示方法
*	   表示该范围内的任意时间
,    表示间隔的多个不连续时间点
-	   表示一个连续的时间范围
/	   指定间隔的时间频率


应用示例
0  17  *  *  1-5		周一到周五每天17:00 
30  8  *  *  1,3,5		每周一、三、五的8点30分
0  8-18/2  *  *  *		8点到18点之间每2小时.分钟数的0 不能写为*
0  *  */3  *  *		错误,每3天,每小时执行一次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值