Linux进程的管理 <一>获取进程信息函数
上一篇 /
下一篇 2008-03-10 11:28:49
/ 个人分类:linux应用
+\,~D_[0pQ6dH0 进程又称任务,是一个动态的使用系统资源、处于活动状态的应用程序。LUPA开源社区;?!N},E,m }4I0{
进程的管理由进程控制块PCB、进程调度、中断管理、任务队列等组成,它是linux文件系统、存储管理、设备管理和驱动程序的基础。LUPA开源社区L\\"M8r;Ia,\)t
进程控制块PCB中包含了进程的所有信息,主要包括进程PID、进程所占有的内存区域、文件描述符和进程环境等信息。LUPA开源社区+j5` \'?6e'Y
他用task_struct的数据结构表示,存在于include/linux/sch.h
G_s2}+Ht/r0
kiL"r A+~%CHA"U0进程状态及转换LUPA开源社区9bDYN5\2T&oT
#define TASK_RUNNING 0 //运行状态
] ](EAj `~6K:i!~L0#define TASK_INTERRUPTIBLE 1 //等待状态(可被中断)LUPA开源社区^:c2V6qD1t g
#define TASK_UNINTERRUPTIBLE 2 //等待状态(不可被中断)LUPA开源社区2Kr![/zd%dg
#define TASK_STOPPED 4 //停止状态LUPA开源社区*JH|v6u;RE5`_ox
#define TASK_ZOMBIE 8 //睡眠状态
f Lz)O:KW0#define TASK_DEAD 16 //僵死状态LUPA开源社区6Y
RUT1CBk[6B
LUPA开源社区2wB%r/C0J2aA进程的基本操作,六大类:LUPA开源社区8A9f3eyQb.z/inxg
1.获取进程信息函数:主要通过读取进程控制块PCB中的信息。
,J9o.rGyG7yE0(1)getpid()
c H5?Mda^;L t0功能:用来获取目前进程的进程标识。
s,EyOnv0定义函数:pid_t getpid(void)
:H#P
O.o)nAz#Xb0返回值:返回当前进程的进程识别号。
l {ZR$P1QHU'z0头文件:#include <unistd.h>LUPA开源社区o.Tx
Y,@$V:Y&ol.F
LUPA开源社区SBnP(G1a6Nm(2)getppid()LUPA开源社区;z.ly,e i'GBe
功能:用来获取目前进程的父进程标识。LUPA开源社区;`g3g2N^,M
定义函数:pid_t getppid(void)
v*xc,e'Y8t v0返回值:返回当前进程的父进程识别号。
%]O"B;R!f*d0头文件:#include <unistd.h>
|kr I*^iai0
LUPA开源社区$_~IkZ^$PJ(3)getpgid()LUPA开源社区-?%}0t8NZ ?Lc
功能:用来获得参数pid指令进程所属于的组识别号,若参数为0,则返回当前进程的组识别码。
#vp&EO(l/[0定义函数:pid_t getpgid(pid_t pid)LUPA开源社区4R-F7pcAbC
返回值:执行成功则返回正确的组识别码,若有错则返-1,错误原因存在于errno中。
-w(qG6U:^S1T
xs0头文件:#include <unistd.h>
%P+g1Z8k?)C,B0
LUPA开源社区6H:U.Ob;q%iM
F(4)getpgrp()
#r@h`pgB0功能:用来获得目前进程所属于的组识别号,等价于getpgid(0)。
t'i|0Pq;kb0定义函数:pid_t getpgrp(void)
~1P/j8ZO)zgk0返回值:执行成功则返回正确的组识别码。
V;NCV/W0头文件:#include <unistd.h>
I)[/XMy"r
Q]qU0
4E Yvf
i Y0(5)getpriotity(void)
3WS]ld9de0功能:用来获得进程,进程组和用户的进程执行优先权。LUPA开源社区O4L9T#}1G4Hl
定义函数:int getpriority(int which,int who)LUPA开源社区W+ldiG(a#f'~d
参数含义:
3[ JJn}f[ r0which:LUPA开源社区pF4_8f-Q+DJ
PRIO_PROCESS who为进程的识别码
+Cv[_,j0PRIO_PGRP who为进程的组识别码LUPA开源社区+@w,g1tq+|sH-w5F
PRIO_USER who为用户识别码
|){h^H_ x%_0返回值:执行成功则返回当前进程的优先级(-20--20),值越小优先级越高。若出错则返-1,原因在errno中。LUPA开源社区DD w^}LA@l
头文件:#include <sys/time.h>
*`/U8N
p'pD,w1IU|0
导入论坛
收藏
分享给好友
管理
举报
TAG: