`
kanwoerzi
  • 浏览: 1645086 次
文章分类
社区版块
存档分类
最新评论

Linux笔记——linux进程

 
阅读更多

列表:

Linux笔记——vim常用操作及扩展补充[手册]

Linux笔记——linux常用命令集合

Linux笔记——命令:awk

Linux笔记——命令:sed

Linux笔记——命令:grep

Linux笔记——命令:find

Linux笔记——命令:Sort,uniq,join,cut,paste,split

Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数

Linux笔记——条件测试test

Linux笔记——控制流

Linux笔记——shell补充:参数传递&函数等

Linux笔记——正则表达式入门及应用

Linux笔记——linux进程

Linux笔记——SVN命令总结

rpm&yum包管理命令总结

鉴于博客,表格&排版&颜色标记等等无法显示,大家可以下载这个笔记的资源

12个文档,不需要积分,以目录+表格+颜色标记形式

下载资源地址http://download.csdn.net/detail/wklken/3815477

The end! Thx! wklken的笔记

-----------------------------------------------

录入时间:2011/6/19

版本:1.0


进程的概念

q概念:一个进程是一个程序的一次执行的过程。

q操作系统通过进程来控制对CPU和其他系统资源的访问,并且使用进程来决定在CPU上运行哪个程序、运行多久。

qLinux系统的一个重要特点:可以同时启动多个进程。

q进程和程序不同:

程序是静态的,是保存在磁盘上的可执行代码和数据的集合;

进程是动态的,是Linux系统的基本调度单位。

q父进程和子进程

一个进程创建新进程称为创建了子进程(child process)

创建子进程的进程称为父进程。

q进程号

PIDProcess Identity number。一个PID唯一地标识一个进程。

PPIDParent Process ID。进程的父进程号。

qInit进程

内核启动后的第一个进程,其PID=1

扮演终结父进程的角色,所有进程追溯其祖先最终都会落到init进程身上。

q因为init进程永远不会被终止,所以系统总是可以确信它的存在,并在必要的时候以它为参照。如果某个进程在它衍生出来的全部子进程结束之前被终止,此时那些失去了父进程的子进程就都会以init作为它们的父进程。

查看命令

ps [-options]

列出当前进程清单,不跟任何选项表示查看系统中属于自己的进程

显示的进程列表是一个静态列表

-ef:察看当前系统中运行的所有进程

-aux:显示系统中所有用户进程及其所有者,并显示详细的进程信息

top [-] [d delay] [q] [C] [c] [S] [s] [i] [n]

列出进程清单

显示的是可根据真实情况,定时更新的运行进程列表

d delay:指定更新的时间间隔(delay),以秒计算。
n
指定更新的次数,到达指定次数后将会退出top

q交互命令

[Space]立即刷新显示。

d设置刷新进程的时间间隔,你会被提示输入一个数(秒)

q退出top命令。

k杀死某进程。你会被提示输入进程 ID以及要发送给它的进程号。

h显示帮助屏幕

n显示的进程数量。你会被提示输入数量。

u按用户排序。

M按内存用量排序。

PCPU 用量排序。

jobs [-options]

用于显示和控制后台正在执行的和被挂起的任务序列

-l:显示后台任务的进程号与讯息。

-p:只显示后台任务的 PID

-n:显示上次通知用户后,执行状态有更动的后台任务状态。

-r:显示执行中的后台任务。

-s:显示暂停执行的后台任务。

进程的启动方式

q执行一个程序à启动了一个进程

q启动进程的两个主要途径:

手工启动:

当时设置当时启动;

调度启动:

用户可事先进行设置安排,指定任务运行的时间或场合,到时候由系统自动启动进程完成此项任务。

手工启动的两种方式

q前台启动

启动一个进程后,如果不中断或挂起该进程,用户会一直被禁止与 Shell进行交互,直至该进程执行结束。

并非单进程状态。

经常用于一般Linux命令的执行,和一些不太耗时的进程的启动。

q后台启动

启动进程后,用户仍可以与Shell进行交互。

可用于一些耗时长的作业运行。

前台进程和前台启动

q由前台启动的进程为前台进程

q前台进程在执行过程中与屏幕键盘等终端进行交互,对终端有完全的控制权,直到该进程被终止或者中断

q前台启动举例:

$cat file1

q前台进程的停止:

<Ctrl+c>

q前台进程的挂起:

<Ctrl+z>

后台进程和后台启动

q由后台启动的进程称为后台进程

q后台进程在执行过程中不与终端进行通信,若要察看他的执行状况必须通过相关的进程管理命令

q对于耗时长的进程,不应该让它在前台执行,而应该交给后台执行。

q后台进程的启动方法:

$command &

q终止和挂起后台进程:

使用kill命令

kill [-option] [signal]{PID | %job ID}

-s指定需要送出的信号,既可以是信号名也可以是对应数字

signal -信号。与-s配合使用。不指定则送出信号15(TERM)。

pid -要终止的进程号。

job ID - 要终止的进程对应的后台任务编号

n信号15TERM

Ø终止进程运行

Økill命令的缺省信号

Ø经常用于后台进程的终止。

Ø当某个进程占用的CPU时间过多,或是某进程已经挂死,可以用这种方法终止其执行。

Øroot用户外,一般用户只能终止属于自己的进程。

n信号09

Ø强制终止进程

注意:kill –l查询kill可以送出的信号列表

01 挂起

02 中断

09强制终止一个进程

15 (缺省)正常终止一个进程

进程的挂起和恢复

q进程挂起

前台进程的挂起:

<Ctrl+z>

后台进程的挂起:

kill –s 01 {PID|%job ID}

q进程恢复

恢复到前台:

fg %jobID

恢复到后台:

bg %jobID

使用nohup命令运行后台进程

q用户退出系统时,一般来说会结束该用户的所有正在运行的程序

q如果某些后台程序没有执行完,怎么办?

qnohup命令使进程在用户退出后仍能继续执行

q格式:

nohup {command|script} &

command:命令

script:程序或脚本

{a|b}ab中必选一项

qnohup.out文件:

存放运行后的所有错误和输出信息。

处于用户主目录下。

Øtest用户:/home/test/nohup.out

分享到:
评论

相关推荐

    Linux学习笔记【博文整理系列】

    学习linux的笔记,发到博文了,鉴于文档方便保存和查阅,发出来,免费的哈 ...文档列表: Linux笔记——vim常用操作及扩展补充...Linux笔记——linux进程 Linux笔记——SVN命令总结 rpm&yum包管理命令总结 The end wklken

    linux内核笔记——进程管理_80386基础

    初学者在在学习linux内核的时候,其启动代码无疑是横在阅读这恰面的一座大山,才一开始就碰倒了复杂的AT&T语法与保护模式,大多数初学者往往由于无法理解其古怪的语法和难解的数据结构与管理方式,从而放弃在linux...

    非常宝贵的LINUX学习笔记

    【linux学习笔记-8】Linux进程相关系统调用(1) 【linux学习笔记-9】Linux进程相关系统调用(2) 【linux学习笔记-10】Linux进程相关系统调用(3) 【linux学习笔记-11】守护进程daemon 【linux学习笔记-12】守护...

    Linux学习笔记Linux学习资料Linux教程

    【linux学习笔记-10】Linux进程相关系统调用(三).doc 【linux学习笔记-11】守护进程daemon.doc 【linux学习笔记-12】守护进程的日志实现.doc 【linux学习笔记-13】基本进程通信--文件锁.doc 【linux学习笔记-14】...

    进程同步——信号量机制

    关于信号量的文章,生产者消费者问题与读者写者问题---信号量机制,PV操作——进程同步的信号量问题,利用信号机制实现的 父子进程同步,嵌入式linux的学习笔记-进程间通信的信号与信号集(四)1)进程的同步与互斥 ...

    Linux内核调试技术——进程D状态死锁检测-List_linux-亚虎娱乐博客 - 亚虎娱乐1

    个人简介围城文章分类全部亚虎娱乐(123)学习笔记(13)职场&人生(2)杂谈(0)编译&调试(12)IT 基础(24)C 基础(5)未分配的亚虎娱乐(0)文章

    linux的进程线程编程(高清书签版)

    linux进程线程编程的学习笔记整理!继《linux的IO编程》的第二个大的部分——进程和线程的编程,后序还有《linux的网络编程》正在整理中……

    Linux学习之路——进程调度和服务管理

    笔记目录1 进程调度和服务管理1.1 进程调度1.2 进程调度管理命令1.2.1 命令at可以使用的时间关键字1.2.2 命令atq1.2.3 命令atrm1.2.4 命令 crontabcron配置文件cron配置1.3 服务的概念服务脚本:/etc/rc.d/init.detc...

    嵌入式Linux入门笔记(十年程序员精品推荐、让你看得懂的笔记、结合开发板例程精心讲解)

    第一阶段在PC机上学习熟悉Linux. 一.Red Hat Linux 9下的常用操作… ………………… ...2.进程通信——信号的使用 3.防止僵死进程。 第四阶段用户图形界面设计 一,QT应用编程 二. Qt/Embedded和QTOPIA.

    linux学习笔记(包含Linux系统和shell编程).rar

    内核会记录哪些内存页面正在使用中,自动把一段时间未访问的内存页面复制到交换空间区域(称之为换出,swapping out)——即使还有内存可用。当程序要访问一个已被换出的内存页面时,内核必须将物理内存中的另一个...

    marmot-cn#readingNotes#38_03_Linux集群系列之九——高可用集群原理详解之多节点集群1

    38_03_Linux集群系列之九——高可用集群原理详解之多节点集群笔记在某一个节点上用来协调两个进程, 每一个进程在启动后要通过一个unix套接字(管道),

    (牛客网C++课程)Linux 高并发Web服务器项目实战(带定时检测代码)

    (牛客网C++课程)Linux 高并发Web服务器项目实战...4. 主进程负责事件的读写,子线程负责业务逻辑——用有限状态机解析HTTP(GET)请求报文;生成相应的响应报文。 5. 利用链表数据结构实现心跳机制(超时检测处理)。

    linux管理员指南

    ”)但是当IBM公司开始把它的DB2数据库系统移植到Linux上、SGI公司宣布把Linux作为它基本的桌面操作系统、甚至Dell公司都把Red Hat Linux作为它服务器计算机的一个预安装选项的时候——真正的“警报”才响了起来。...

    操作系统-读书笔记.doc

    读 书 笔 记 ——《操作系统》 《操作系统》 目录 1 操作系统发展史 2 进程和线程 3 内存管理 4 文件系统(Linux) 5 设备管理 1 操作系统发展史 1.1引言 操作系统诞生距今已经有了几十年的时间,它是计算机资源的管理...

    用于控制华硕 ROG 笔记本电脑的守护程序和工具。 取代 rog-core。

    华硕 ROG 的asusctl-华硕 Linux 网站asusd是用于 Linux 的实用程序,用于控制各种华硕笔记本电脑的许多方面,但也可用于功能asusd非华硕笔记本电脑。目标为大多数用户希望控制的某些系统功能(例如风扇速度、键盘 ...

    自己动手写操作系统(含源代码).part2

    历史上的 Linux就是这么产生的,Linus Torvalds当时是一名赫尔辛基大学计算机科学系的二年级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件...

    自己动手写操作系统(含源代码).part1

    历史上的 Linux就是这么产生的,Linus Torvalds当时是一名赫尔辛基大学计算机科学系的二年级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件...

    java8stream源码-lambda-shell-commands:lambda-shell-命令

    java8流源码AWS Lambda shell 命令 最后更新:2019-03-12T18:53:30.386Z, Lambda 的工作原理 AWS Lambda 是一个完整的 Linux 微容器,可在几毫秒内按需启动,以 ...微容器保持温暖并跨进程回收,因此您真的不会在执

    计算机基础应用培训课件.pptx

    目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows(windows98 windowsMe windows 2000、windows XP ,windows Vista,windows 7) Netware等。 6 计算机基础应用培训课件全文共101页,当前为第6页。 ...

    若干源程序资料12.rar

    2012-06-11 21:44 6,947,979 Linux内核完全注释V3.0书签版(带源码).rar 2012-06-11 21:31 11,599 MATLAB仿真程序OFDM程序.txt 2012-06-11 21:37 14,584,477 msdn for vb6.0简体中文版.zip 2012-06-11 21:02 12,288 ...

Global site tag (gtag.js) - Google Analytics