您的位置:首页 > 运维架构 > Linux

linux之task_struct

2016-06-08 21:43 267 查看
每个进程中都有一个进程控制块--PCB。PCB--维护进程相关的信息。然而,linux内核的进程控制块就是task_struct结构体,它可以保存进程的信息。

所有运行在系统里的进程都以task_struct链表的形式存在内核里。

每个进程都将它的信息放在task_struct结构体中,既然它是一个结构体,那么它里边包含些什么内容呢?

》》

1.进程标识符:

pid:进程

ppid:父进程

ppid pid





运行(R)的为父进程;僵死状态(Z)的为子进程。

2.进程状态:

常见的进程状态有:R(运行状态),S(可中断的休眠状态),D(不可中断的休眠状态),T(停止状态),t(暂停状态),

x(死亡状态),Z(僵死状态)

s:


3.进程优先级:

进程cpu资源分配的优先。进程的优先级的值越小,越早被执行。用PRI来表示。。

在这里,还有一个概念是NI。

NI是不是优先级呢?当然不是啦。但是它是影响优先级变化的一个因素(nice(nice -n -5 +可执行程序名),renice(renice -5 -p +进程号))。公式这样来表示:PRI(new)=PRI(old)+nice。

nice的使用:

nice -n -5 +可执行程序 就可以改变它的优先级啦。

还是举个例子吧:









按照上面的步骤执行,最终就通过nice将它的优先级改变了哦。

当然你想改变它的优先级只需要调整nice的大小即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: