39、linux 进程管理

简介: 1、可执行程序代码(Unix称之为text section)。     通常进程还包括其他资源,如打开的文件、挂起的信号、内核内部的数据、处理器状态、地址空间及一个和多个执行线程、当然还包括用来存放全局变量的数据段等,实际上,进程就是正在执行的程序代码的活标本。

1、可执行程序代码(Unix称之为text section)。

    通常进程还包括其他资源,如打开的文件、挂起的信号、内核内部的数据、处理器状态、地址空间及一个和多个执行线程、当然还包括用来存放全局变量的数据段等,实际上,进程就是正在执行的程序代码的活标本。

2、进程存放是以链表的形式存放的,单个数据结构是一个task_struct的结构。(./linux/include/linux/sched.h。)。

3、/proc/sys/kernel/pid_max存放进程的最大数。

4、进程分类

进程一般分为交互进程、批处理进程和守护进程三类。

/etc/init.d/httpd 就是httpd服务器的守护程序,当把它的运行级别设置为35时,当系统启动时,它会跟着启动。

chkconfig  --level 35  httpd on

5、进程的属性;

进程IDPID):是唯一的数值,用来区分进程;

父进程和父进程的IDPPID)

启动进程的用户IDUID)和所归属的组(GID);

进程状态:状态分为运行R、休眠S、僵尸Z

进程执行的优先级;

进程所连接的终端名;

进程资源占用:比如占用资源大小(内存、CPU占用量);

6、通过pskillpgrep等管理进程

1)ps

查看进程

常用 ps -aux

2)pgrep 通过程序名查看进程是否运行

3)kill

数据库服务器的父进程不能用这些工具杀死,因为这些工具在强行终止数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定程度的时候,数据库就有崩溃的危险。比如mysql服务器最好是按其正常的程序关闭,而不是用pkill mysqld killall mysqld 这样危险的动作;当然对于占用资源过多的数据库子进程,我们应该用kill 来杀掉。

kill [信号代码] 进程ID

代码常用-9,强行终止

killall 正在运行的程序名 //kill processes by name

xkill 是在桌面用的杀死图形界面的程序。如firefox出现崩溃不能退出时,运行xkill,当xkill运行时出来和个人脑骨的图标,移到firefox图标上点一下。如果想终止xkill,就按右键取消。

7、其他命令

    每个作业都是当前bash的一个子程序,彼此间是有关联的。

ctrl+[z]将“当前”作业放到后台“暂停”

fg将后台作业拿到前台处理

bg将前台作业拿到后台运行

&直接将命令放到后台“执行”

jobs观察作业状态

8、fork调用创建一个子进程,而exec会用新程序代替当前进程上下文。

    TASK_RUNNING 表示进程正在运行,或是排在运行队列中正要运行;TASK_INTERRUPTIBLE 表示进程正在休眠、TASK_UNINTERRUPTIBLE 表示进程正在休眠但不能叫醒;TASK_STOPPED 表示进程停止等。

参考

1】 非常不错的个人网站

http://fendou.org/2009/08/02/linux-process-note/

2】 在这里了解了下个人信息平台展示工具,wordpress

http://zh-cn.forums.wordpress.org/

3http://www.linuxidc.com/Linux/2011-09/43179.htm

4Linux 进程管理剖析,对fork,exit的执行机理进行了分析

http://www.ibm.com/developerworks/cn/linux/l-linux-process-management/

5】 对源代码进行剖析

http://blog.chinaunix.net/space.php?uid=20543183&do=blog&cuid=527393

目录
相关文章
|
28天前
|
Unix Shell Linux
Linux 终端和进程的关系,以及在终端前后台切换进程
Linux 终端和进程的关系,以及在终端前后台切换进程
26 1
|
27天前
|
Shell Linux 调度
【Shell 命令集合 系统管理 】Linux 调整进程优先级 renice命令 使用指南
【Shell 命令集合 系统管理 】Linux 调整进程优先级 renice命令 使用指南
35 0
|
27天前
|
存储 监控 Linux
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 查看当前正在运行的进程信息 ps命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 查看当前正在运行的进程信息 ps命令 使用指南
40 0
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】⭐⭐⭐Linux 限制进程资源 ulimit命令 使用指南
【Shell 命令集合 系统设置 】⭐⭐⭐Linux 限制进程资源 ulimit命令 使用指南
37 0
|
27天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 向进程发送信号 kill命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 向进程发送信号 kill命令 使用指南
31 0
|
24天前
|
消息中间件 Linux 调度
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
63 0
|
6天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
15 3
|
11天前
|
监控 Linux Shell
初识Linux下进程2
初识Linux下进程2
|
11天前
|
Linux 编译器 Windows
【Linux】10. 进程地址空间
【Linux】10. 进程地址空间
19 4
|
16天前
|
Web App开发 人工智能 Ubuntu
【Linux】Linux启动/查看/结束进程命令(详细讲解)
【Linux】Linux启动/查看/结束进程命令(详细讲解)