Linux——进程管理学习简单笔记
基本概念:
进程和程序的区别 :
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。
父进程与子进程:
1、子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程。
2、在Linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。
3、父进程终止子进程自然终止。 (避免出现孤儿进程, 僵尸进程)
前台进程和后台进程:
前台进程:
在Shell提示处打入命令后,创建一个子进程,运行命令,Shell等待命令退出,然后返回到对用户给出提示符。这条命令与Shell异步运行,即在前台运行,用户在它完成之前不能执行另一个命令。
后台进程:
在Shell提示处打入命令,若后随一个&,Shell创建的子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示。这条命令与Shell同步运行,即在后台运行。后台进程必须是非交互式的。
进程的三种状态: 就绪:进程已经分配到资源,但因为其它进程正占用CPU,所以暂时不能运行而等待分配CPU的状态。
等待:因等待某种事件而暂时不能运行的状态。
? 运行:进程分配到CPU,正在处理器上运行。 命令:
1:查看用户信息 w :
? w显示信息的含义:
?JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里
PCPU:CPU执行程序耗费的时间
WHAT:用户正在执行的操作
load average:分别显示系统在过去1、5、15分钟内的平均负载程度。 (三个相加求平均值即可得到平均负载)
?FROM:显示用户从何处登录系统,“:0”的显示代表该用户时从X Window下,打开文本模式窗口登录的
? IDLE:用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置 查看个别用户信息:w 用户名 2:查看系统中的进程 ps
常用选项:
?a:显示所有用户的进程
u:显示用户名和启动时间
x:显示没有控制终端的进程
e:显示所有进程,包括没有控制终端的进程
l:长格式显示
?w:宽行显示,可以使用多个w进行加宽显示
ps常用输出信息的含义: ?
PID:进程号
PPID:父进程的进程号
TTY:进程启动的终端
STAT:进程当前状态 :S休眠状态,D不可中断的休眠状态,R运行状态,Z僵死状态,T停止
NI:进程优先级
TIME:进程自从启动以来启用CPU的总时间
COMMAND/CMD:进程的命令名
USER:用户名
%CPU:占用CPU时间和总时间的百分比
%MEM:占用内存与系统内存总量的百分比
ps应用实例:
# ps 查看隶属于自己的进程
# ps -u or -l 查看隶属于自己进程详细信息
# ps -le or -aux 查看所有用户执行的进程的详细信息
# ps -aux --sort pid 可按进程执行的时间、PID、UID等对进程进行排序
# ps -aux | grep sam
# ps -uU sam
查看系统中指定用户执行的进程
# ps -le | grep init 查看指定进程信息
3:kill – 杀死进程
为什么要杀死进程
该进程占用了过多的CPU时间
该进程缩住了一个终端,使其他前台进程无法运行
运行时间过长,但没有预期效果
产生了过多到屏幕或磁盘文件的输出
无法正常退出
kill – 关闭进程
关闭进程:kill 进程号 kill -9 进程号(强行关闭) (可以通过kill -l查看具体数字的含义
kill -1 进程号(重启进程) 关闭图形程序:xkill 结束所有进程:killall 查找服务进程号:pgrep 服务名称 关闭进程:pkill 进程名称
4:nice和renice 修改进程运行级别
nice:
指定程序的运行优先级
格式:nice -n command
例如:nice --5 myprogram 第一个-表示可选项第二个-表示优先级
renice
改变一个正在运行的进程的优先级
格式:renice n pid
例如:renice --5 777 第一个-表示可选项第二个-表示优先级
* 优先级取值范围为(-20,19)* 5:nohup
使进程在用户退出登陆后仍旧继续执行,nohup命令将执行后的数据信息和错误信息默认储存到文件nohup.out中
nohup program &
6:进程的挂起与恢复:
?进程的中止(挂起)和终止
挂起(Ctrl+Z)终止(Ctrl+C)
进程的恢复
恢复到前台继续运行(fg)
恢复到后台继续运行(bg)
查看被挂起的进程(jobs)
7:top,命令:
作用:进程状态显示和进程控制,每5秒钟自动刷新一次(动态显示)
常用选项:
d:指定刷新的时间间隔
c:显示整个命令行而不仅仅显示命令名
u:查看指定用户的进程
k:终止执行中的进程
h or ?:获得帮助
r:重新设置进程优先级
s:改变刷新的时间间隔
W:将当前设置写入~/.toprc文件中
Linux——进程管理学习简单笔记的更多相关文章
- Linux进程管理学习资料
下面是一些Linux进程管理相关的资料. 博客 Process Creation(一) Process Creation(二) 进程切换分析(1):基本框架 进程切换分析(2):TLB处理 When ...
- Linux——权限管理命令简单笔记
首先linux中的权限分为三种rwx 代表字符 权限 对文件的含义 对目录的含义 r 读权限 可以查看文件 内容 (cat, more, head, tail) 可以列出目录中 的内容 (ls) w ...
- linux——通信指令学习简单笔记
一: 指令名称:write 指令所在路径:/usr/bin/write 执行权限:All User 语法:write <用户名> 功能描述:向另外一个用户发信息,以Ctrl+D作 为结束 ...
- Linux进程线程学习笔记:运行新程序
Linux进程线程学习笔记:运行新程序 周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...
- Linux 进程管理 笔记
https://www.ibm.com/developerworks/cn/linux/l-linux-process-management/index.htmlLinux 进程管理剖析 进程可以是短 ...
- Linux进程管理知识整理
Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...
- Linux进程管理专题
Linux进程管理 (1)进程的诞生介绍了如何表示进程?进程的生命周期.进程的创建等等? Linux支持多种调度器(deadline/realtime/cfs/idle),其中CFS调度器最常见.Li ...
- Linux进程管理 (1)进程的诞生
专题:Linux进程管理专题 目录: Linux进程管理 (1)进程的诞生 Linux进程管理 (2)CFS调度器 Linux进程管理 (3)SMP负载均衡 Linux进程管理 (4)HMP调度器 L ...
- Linux进程管理 (7)实时调度
关键词:RT.preempt_count.RT patch. 除了CFS调度器之外,还包括重要的实时调度器,有两种RR和FIFO调度策略.本章只是一个简单的介绍. 更详细的介绍参考<Linux进 ...
随机推荐
- LVS + Keepalived 实现高可用、负载均衡 Web 集群
简介: LVS 是 Linux Virtual Server 的简写,Linux 虚拟服务器的意思,是一个虚拟的服务器集群系统,此项目由章文嵩博士于 1998 年 5 月成立,是中国最早出现的自由软件 ...
- hover()与toggle()
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- STL学习笔记--特殊容器
容器配接器 (1) stack 栈 后进先出(LIFO), 头文件#include<stack> template<class _Ty, class _Container = deq ...
- testng入门教程7 TestNG组测试
在TestNG中组测试是一个新的创新功能,它不存在于JUnit框架,它允许调度到适当的部分方法和瓶坯复杂的测试方法分组.您不仅可以声明属于群体的那些方法,但你也可以指定一组包含其他组.然后,TestN ...
- 单利模式及python实现方式
单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...
- myeclipse连接sql server2008 r2数据库
我用的myeclipse自带的jdk1.6连接的,所以选用sqljdbc4.jar的jar包,我是win7电脑 之前也看到一些用户留的微软官方连接,但是官方那边已经取消下载了,所以我重新去找了下 链接 ...
- Javascript-涨工资案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 文件操作(CRT、C++、WIN API、MFC)
一.使用CRT函数文件操作 二.使用标准C++库 std::fstream std::string 1)std::string对象内部存储了一个C的字符串,以'\0'结尾的. 2)std::strin ...
- kail linux nmap命令
可用于: 检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本) ---- ...
- Python: re.compile()
compile(pattern,flags=0) 1.编译一个正则表达式模式,返回一个模式对象 2.第二个参数flags是匹配模式,可以使用按位或‘|'表示同时生效,也可以在正则表达式字符串中指定 P ...