进程和计划任务管理
1、进程管理
1.1 程序概念
程序是保存在外部存储介质(如硬盘)中的可执行机器代码和数据的静态集合。程序是一串没有运行的代码。
1.2 进程概念
进程是正在运行的程序的实例。进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。主要负责资源管理及分配
1.3 线程的概念
线程(Thread)是进程的组成部分,是程序执行的最小单位。一个进程可以包含多个线程,这些线程共享进程的资源,如内存空间和文件句柄。一个进程可以包含多个线程,但是一个线程只能在一个进程里面,但是一个进程里面至少都要有一个线程。主要负责调度执行。
1.4 动静态查看进程命令
- ps(aux,-elf,静态列表形式显示进程)
- top (动态查询进程)
- pgrep (查询过滤进程信息)
- pstree(输出 Linux 操作系统中各进程的树形结构,以更加直观地判断各进程之间的相互关系)
1.5 进程状态
S(休眠)、R (运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)
2、控制进程任务(at,crontab)
在 Linux 操作系统中,可以由用户手工启动或者按预订计划调度启动新的进程。
2.1 at命令
在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启动则需要运行 chkconfig --level 2345 atd on)。
格式:at [参数] [时间]
查看 :atq
删除:atr
2.2 crontab命令
查看当前用户的 crontab 文件
- crontab -l
编辑当前用户的 crontab 文件
- crontab -e
删除当前用户的 crontab 文件
- crontab -r
列出某个用户的 crontab 文件(需要有相应的权限)
- crontab -u username -l
编辑某个用户的 crontab 文件(需要有相应的权限)
- crontab -u username -e
格式:
rontab 任务配置记录中所设置的命令操作将在“分钟”+“小时”+“日期”+“月份”+“星期”都满足的条件下执行。
- 除了“*”以外,还可以使用“-”(减号)、“,”(逗号)、“/”(斜杠)与数字构成表达式来表示较复杂的时间关系。
- 减号“-”:可以表示一个连续的时间范围,如"1-4”表示整数 1、2、3、4。
- 逗号“,”:可以表示一个间隔的不连续范围,如“3, 4, 6,8”。
- 斜杠符号“/”:可以用来指定间隔频率,如在日期字段中的“*/3”表示每隔 3 天。