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

目录
相关文章
|
1月前
|
Shell Linux 调度
【Shell 命令集合 系统管理 】Linux 调整进程优先级 renice命令 使用指南
【Shell 命令集合 系统管理 】Linux 调整进程优先级 renice命令 使用指南
41 0
|
29天前
|
消息中间件 Linux 调度
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
67 0
|
6天前
|
算法 Linux 调度
深入理解Linux内核的进程调度机制
【4月更文挑战第17天】在多任务操作系统中,进程调度是核心功能之一,它决定了处理机资源的分配。本文旨在剖析Linux操作系统内核的进程调度机制,详细讨论其调度策略、调度算法及实现原理,并探讨了其对系统性能的影响。通过分析CFS(完全公平调度器)和实时调度策略,揭示了Linux如何在保证响应速度与公平性之间取得平衡。文章还将评估最新的调度技术趋势,如容器化和云计算环境下的调度优化。
|
7天前
|
监控 Linux
linux监控指定进程
请注意,以上步骤提供了一种基本的方式来监控指定进程。根据你的需求,你可以选择使用不同的工具和参数来获取更详细的进程信息。
14 0
|
8天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
100 2
|
11天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
19 3
|
15天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
15天前
|
监控 Linux Shell
初识Linux下进程2
初识Linux下进程2
|
16天前
|
Linux 编译器 Windows
【Linux】10. 进程地址空间
【Linux】10. 进程地址空间
19 4
|
20天前
|
算法 Linux Shell
linux系统的进程管理
linux系统的进程管理
19 2