■ 程序 ● 保存在硬盘、光盘等介质中的可执行代码和数据 ● 静态保存的代码 ■ 进程 ● 在CPU及内存中运行的程序代码 ● 动态执行的代码 ● 父、子进程 ◆ 每个程序可以创建一个或多个进程
■ ps命令 ● 查看静态的进程统计信息
[root@localhost ~]# ps aux ps a 显示当前终端下的所有进程信息 u 显示以用户为主的格式显示进程信息 x 显示当前用户在所有终端下的进程信息 -e 显示系统内的所有进程信息, -l 使用长格式显示进程信息 -f 使用完整格式显示进程信息● 查询进程信息
pgrep -l "xxx" 输出进程名中包含xxx的进程及进程号(pid) -U aaa 输出由用户aaa运行的进程及进程号(pid) -t tty1 输出tty1终端上运行的进程及pid号● 进程的启动方式
■ 手工启动 ● 前台启动:用户输入命令,直接执行程序 ● 后台启动:在命令行尾加入“&”符号 ■ 调度启动 ● 使用at命令,设置一次性计划任务 ● 使用crontab命令,设置周期性计划任务● 进程的前后台调度
■ Ctrl+Z组合键 ● 将当前进程挂起,即调入后台并停止执行 ■ jobs-l 命令 ● 查看处于后台的任务列表 ■ fg命令 ● 将后台进程恢复到前台运行,可指定任务序号● 终止进程的运行
■ Ctrl+C组合键 ● 中断正在执行的命令 ■ kill、killall命令 ● kill用于终止指定PID号的进程 ● kilal用于终止指定名称的所有进程 ● -9选项用于强制终止 ■ pkill命令 ● 根据特定条件终止相应的进程 ● 常用命令选项 ◆ -u:根据进程所属的用户名终止相应进程 ◆ -t: 根据进程所在的终端终止相应进程■ at命令 ● 一次性计划任务 at [HH:MM] [yyyy-mm-dd] ■ 案例 ● 在当天的21:30时自动关闭当前系统 [root@localhost ~]# at 21:30 at> shutdown -h now at> job 2 at Sun May 7 21:30:00 2017 [root@localhost ~]# atq 查看未执行的任务列表 2 Sun May 7 21:30:00 2017 a root [root@localhost ~]# atrm 2 删除第二条任务 [root@localhost ~]# atq
● 编辑计划任务 crontab -e [-u 用户名]
● 查看计划任务 crontab -l [-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 * */3 * * 每3天