根据提供的文件信息,我们可以归纳出以下关键知识点:
### 进程的基本概念
1. **进程定义**:在计算机科学中,进程是指一个程序在某个数据集上的运行活动。这里的“程序”指的是具有特定目的的指令集合,而“作业”则是指用户提交给计算机执行的具体程序。
2. **作业控制含义**:指的是对正在运行的进程行为进行控制的能力,这通常涉及到如何管理和调整进程的状态以满足特定需求或优化系统资源的使用。
3. **进程的类型**:
- **交互进程**:由shell启动,可在前台或后台运行,主要依赖于用户的直接互动。
- **批处理进程**:无需与终端交互,通常是在任务队列中等待执行的任务。
- **守护进程**:由shell或Linux系统自动启动并在后台运行,主要用于监控特定的服务。
4. **进程启动方法**:
- **手工启动**:
- 前台启动:直接输入程序名称。
- 后台启动:在程序名称后添加“&”符号。
- **调度启动**:系统在指定时间运行特定程序,常用的工具包括`at`、`batch`和`cron`等。
### 进程管理的常用命令
1. **ps**
- 功能:展示系统的进程信息。
- 格式:`ps [参数]`
- 参数解释:
- `-a`:显示所有进程(但不包括没有终端的进程)。
- `-u`:显示用户名和启动时间。
- `-x`:显示没有终端的进程。
- `-e`:显示所有进程(不显示进程状态)。
- `-w`:宽行显示。
- 示例:
- `# ps`:显示当前用户的进程。
- `# ps –aux`:显示所有进程信息。
- `USER`:进程的启动用户。
- `PID`:进程号(进程的唯一标识)。
- `%CPU`:占用CPU的百分比。
- `%MEM`:占用内存的百分比。
- `VSZ`:虚拟内存大小。
- `RSS`:物理内存大小。
- `TTY`:进程的工作终端(?表示没有终端)。
- `START`:进程启动时间。
- `COMMAND`:运行的程序。
2. **top**
- 功能:动态显示系统进程信息。
- 格式:`top`
- 操作命令:
- `help`:获取帮助信息。
- `k` + `PID`:杀死指定的进程。
- `q`:退出`top`。
3. **kill**
- 功能:用于终止进程。
- 格式:`kill [参数] PID`
- 参数:
- 默认信号是`SIGTERM`(15),用于请求进程正常终止。
- `-9`:强制终止进程。
- 示例:
- `# kill -9 3`:强制终止PID为3的进程。
4. **设置进程优先级**
- 优先级范围:-20至20(数值越小,优先级越高,10为默认值)。
- **nice**:用于设定新进程的优先级。
- 格式:`nice 优先级 命令`
- 示例:`# nice -5 ls`。
- **renice**:用于修改正在运行的进程的优先级。
- 格式:`renice 优先级 PID`
5. **作业的前后台操作**
- **jobs**:查看后台程序。
- **fg**:将后台程序调到前台运行。
- **bg**:将程序转入后台运行。
- 可以通过组合键`Ctrl+Z`将前台程序转入后台暂停运行。
- `Ctrl+C`可以终止前台程序的运行。
### 任务的自动化
1. **at**
- 功能:安排系统在指定时间运行程序。
- 格式:`at [参数] 时间`
- 参数:
- `-m`:任务结束后发送邮件通知。
- `-f 文件名`:从指定文件读取命令。
- 时间表示方法:
- 绝对时间:例如`midnight`表示当天午夜。
- 相对时间:例如`now + 1 hour`表示当前时间之后的一小时。
2. **batch**
- 功能:安排作业在系统负载较低时运行。
- 格式:`batch [参数] 时间`
- 特点:与`at`类似,但在系统负载低时才执行命令,适用于资源消耗较大的任务。
以上就是从给定文件中的标题、描述、标签和部分内容中提取的关键知识点。希望这些信息能够帮助您更好地理解进程管理和自动化调度的基础知识。