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文件中