Linux学习笔记(六) 进程管理
1、进程基础
- 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念
- 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID,称为进程 ID(PID)
- 对进程进行管理必须以进程 ID 作为对象,而非进程名称
- 每个进程都可能以前台或后台两种方式存在,
bg表示后台执行,fg表示前台执行 - 在命令后加
&使进程在后台执行
2、显示进程
可以使用 ps 命令(Process Status)显示当前运行的进程,显示的内容如下:
- PID(Process ID):进程标志
- TTY(Teletypewritter):登陆终端的编号
- TIME:此进程消耗的CPU时间
- CMD:正在执行的命令或进程名称
添加 -l 参数(Long Format)可以显示更详细的信息,显示的内容如下:
- F(Flag):进程状态标志
- S(Status):进程状态
- UID(User ID):进程执行者的ID
- PPID(Parent Process ID):父进程的ID
- PRI(Priority):进程执行的优先级
- NI(Nice):优先级的 Nice 值,负值表示优先级高
- SZ(Size):进程占用内存的大小,单位为 KB
- WCHAN(Waiting Channel):进程等待时的地址
添加 -u 参数(User Format)也可以显示更详细的信息,显示的内容如下:
USER:进程的执行者
- %CPU:CPU 使用率
- %MEM:内存使用率
- VSZ:占用虚拟内存的大小
- RSS:占用物理内存的大小
START:进程开始的时间
3、删除进程
可以先使用 ps 命令查看进程 ID,再使用 kill 进程ID 命令终止指定的进程
若无法直接使用上述命令删除进程,
- 可以加上
-9参数,代表发出 KILL 信号,进程不会进行清理和保存工作 - 可以加上
-15参数,代表发出 TERM 信号,进程有足够活力接收时才会被终止
但是要注意的是,通常极难删除的进程大多与系统运行相关联,因此最好不要养成直接使用 -9 和 -15 参数的习惯
其它参数的含义如下:
-1:发出 HUP 信号,挂起进程-2:发出 INT 信号,效果和直接使用 Ctrl+C 相同-18:发出 CONT 信号,继续运行进程-19:发出 STOP 信号,暂停进程
4、进程优先级
每个进程执行时,都会被赋予使用 CPU 的 优先等级,等级越高,系统提供的 CPU 使用时间 就会越多
一般地,进程执行时的优先等级范围是 -20~19,其中 -20 最高,19 最低,优先级 -20 ~ -1 只有管理员才可以设置
可以使用以下两个命令设置进程优先等级:
nice -优先级 命令:设置进程执行的优先级,如果执行进程时没有使用 nice,则默认为 0;如果使用 nice 而没有指定优先级,则默认为 10renice -优先级 命令:重新调整进程执行时的优先级
5、动态显示进程
可以使用 top 命令动态显示进程状态,在 top 命令执行过程中可以结合使用以下指令完成特定的进程操作
- P:改变进程的排列顺序,按 CPU 使用时间 排序
- M:改变进程的排列顺序,按 内存使用量 排序
- J:改变进程的排列顺序,按 执行时间 排序
- u:监视指定用户产生的进程
- k:删除指定 PID 的进程
6、设置任务调度
任务自动调度是设置系统在某个时间段执行特定的命令或进程,也就是周期性执行任务
Linux 系统中常以 cron 工具进行调度工作
(1)文件调度规则
执行 crond 进行任务调度前,须写一个提供 crond 执行时所需信息的文件
文件中每行需要包含6个字段,每个字段间要以空白隔开,六个字段各自的含义如下:
| 字段名称 | 说明 | 范围 |
|---|---|---|
| 分钟 | 每小时的第几分钟执行 | 0~59 |
| 小时 | 每天的第几小时执行 | 0~23 |
| 日期 | 每月的第几天执行 | 1~31 |
| 月份 | 每年的第几月执行 | 1~12 |
| 星期 | 每周的第几天执行 | 0~6 |
| 命令名称 | 命令名称及参数 | 无 |
说明:
- 除了最后一个字段为必填项之外,其余字段可省略
- 不指定的字段输入
*占位,* 表示全部的意思 - 可以使用
-表示范围,如2-5 - 可以使用
,表示列举,如2,3,4,5 - 如果在执行命令后没有使用输出重定向,则系统会将执行结果以电子邮件的方式传送给执行此进程的用户
(2)设置任务调度
- 设置系统调度任务
Ubuntu 系统调度任务的记录储存在 /etc/crontab 文件中
部分环境变量也定义在 /etc/anacrontab 文件中,如 SHELL、PATH等
- 设置个人调度任务
可以使用 vi 编辑器编写任务调度,编写完成并保存文件后需要通过 crontab 文件名 启动任务调度
也可以使用 crontab -e 命令直接进行编辑,编写完成后默认保存在 /tmp 目录
接下来系统会将用户的设置内容写入 /var/spool/cron 目录中以每个用户名称命名的文件,同时自动启动任务调度
(3)其他命令
crontab -l:查看当前用户的调度任务(显示/var/spool/cron目录中以每个用户名称命名的文件内容)crontab -r:删除所有调度任务
(4)cron 访问管理
当用户新增或删除 cron 任务时,系统会寻找 /etc/cron.allow 文件
若文件存在,则包含在其中的用户允许使用 cron,若文件不存在,则系统会寻找 /etc/cron.deny 文件
若文件存在,则包含在其中的用户会被禁用 cron,但唯一例外的是 root(无论是否在文件中均可使用 cron)
注意,在编辑 /etc/cron.allow 和 /etc/cron.deny 文件时,每行只能输入一个用户名称,而且不能包含空格
【Linux学习笔记相关文章】
- Linux学习笔记(一) 文件系统
- Linux学习笔记(二) 文件管理
- Liunx学习笔记(三) 文件权限
- Linux学习笔记(四) vi编辑器
- Linux学习笔记(五) 账号管理
- Linux学习笔记(六) 进程管理
- Linux学习笔记(七) 查询系统
Linux学习笔记(六) 进程管理的更多相关文章
- Linux学习笔记(五) 账号管理
1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...
- Linux内核学习笔记-2.进程管理
原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...
- Linux学习笔记12—磁盘管理
一.查看磁盘或目录的容量 1. df命令 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 参数: -I : 查看inodes使用状况 -h: 使用合适的 ...
- Linux学习笔记<六>
进程与程序 1.子程序与父程序 PID是进程的ID,PPID是其父进程的ID 登录bash之后,就是获取了一个名为bash的PID,在这个环境上所执行的其他命令,就是其子程序 common@commo ...
- Linux System Programming 学习笔记(五) 进程管理
1. 进程是unix系统中两个最重要的基础抽象之一(另一个是文件) A process is a running program A thread is the unit of activity in ...
- Linux学习笔记24——进程管道
一 管道的作用 通常把一个进程的输出通过管道连接到另一个进程的输入. 二 popen和pclose函数 #include <stdio.h> FILE *popen(const char ...
- linux —— 学习笔记(用户管理与权限控制)
目录:1.用户的创建和管理 2.组的创建和管理 3.文件执行权限的控制 4.不用密码执行sudo 1.用户的创建和管理 用户的创建和管理: useradd.usermod . userdel . ...
- linux学习笔记之进程
一.基础知识 1:进程. 1,进程ID: 非负整数,具有唯一性. 1)ID=0的进程:调度进程/交换进程.内核的一部分.不执行任何磁盘上的程序. 2)ID=1的进程:init进程. 1-自举结束时,由 ...
- Linux初学笔记---关于进程管理等
菜鸟初学: 1. 查看进程用的命令: ps 具体用法 ps -A ro ps -e 显示所有进程 ps -u root 显示root 用户的进程 ps -u root -N 显示非root用户的进程 ...
随机推荐
- Bing必应地图中国API - 在地图上画圆
Bing必应地图中国API - 在地图上画圆 2011-05-24 14:49:37| 分类: Bing&Google|字号 订阅 <变形金刚2>上映4日国内票房过亿,基 ...
- D1 模拟赛
T1 note 数组开小 菜的真实 60分 题目大意: 一个字符串 分成若干段 使每段内都没有重复的字符 求最少的段数 思路: 可以贪心 #include<iostream> #inclu ...
- BZOJ_1576_[Usaco2009 Jan]安全路经Travel&&BZOJ_3694_最短路_树链剖分+线段树
Description Input * 第一行: 两个空格分开的数, N和M * 第2..M+1行: 三个空格分开的数a_i, b_i,和t_i Output * 第1..N-1行: 第i行包含一个数 ...
- 移动前端第二弹:善用meta
前言 在移动前端第一弹:viewport详解中,我们讲了viewport,那是一个关于meta的故事.这次我们会就将meta这个故事讲得更广阔.更有意思一些. 写过HTML的童鞋,应该都对这个不陌生, ...
- 19_传智播客iOS视频教程_类和对象
什么是类?什么是对象? 看的见.摸的着.拿过来就可以直接使用.例如报纸就是一个对象. 学生这个东西可不可以只是指一个?就只有那一个才是学生.不是的,学生是有很多个的.它是对一类人的统称.类是统称.所以 ...
- Java 链式写法
Java链式写法,子类继承父类的属性,也可以返回子类的对象,只是需要重写基类的Set方法 public class MyLS { public static void main(String[] ar ...
- E20170603-hm
current adj. 现在的; 最近的; 流行的; 流传的; currency n. 货币; 通用,流通 delimiter n. 定界符,分隔符; precision n. 精确度,准 ...
- 策略设计测试用例实践(2)--Pairwise(转)
一.关于”好的“测试用例 在设计测试用例的时候有多种设计方法和策略可以使用,使得测试用例设计得更丰富,尽可能覆盖到更多的程序路径和功能场景.常见的测试用例设计方法被提到最多的就是等价类划分.边界值分析 ...
- bzoj 1690: [Usaco2007 Dec]奶牛的旅行【01分数规划+spfa】
把add传参里的double写成int我也是石乐志-- 首先这个东西长得就很01分数规划 然后我不会证为什么没有8字环,我们假装他没有 那么设len为环长 \[ ans \leq \frac{\sum ...
- bzoj1076: [SCOI2008]奖励关(期望dp+状压dp)
1076: [SCOI2008]奖励关 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2989 Solved: 1557[Submit][Statu ...