当前位置: 首页 > news >正文

网站正在建设中模板单页公共资源交易网

网站正在建设中模板单页,公共资源交易网,wordpress 获取标题,网站的页脚1.PCB及task_struct 进程信息被放在一个叫做进程控制块的数据结构中#xff0c;可以理解为进程属性的集合。 书上称之为 PCB #xff08; process control block #xff09;#xff0c; Linux 操作系统下的 PCB 是 : task_struct。 task_struct是PCB的一种。 task_struc…1.PCB及task_struct 进程信息被放在一个叫做进程控制块的数据结构中可以理解为进程属性的集合。 书上称之为 PCB process control block Linux 操作系统下的 PCB 是 : task_struct。 task_struct是PCB的一种。 task_struct和PCB之间的关系打个比方 就如同王婆和媒婆一样王婆是媒婆的一种媒婆是对各种说媒的婆的统称。 在Linux中描述进程信息的进程控制块就叫做task_struct. task_struct  里的内容分类 标示符 : 描述本进程的唯一标示符用来区别其他进程。 状态 : 任务状态退出代码退出信号等。 优先级 : 相对于其他进程的优先级。 程序计数器 : 程序中即将被执行的下一条指令的地址。 内存指针 : 包括程序代码和进程相关数据的指针还有和其他进程共享的内存块的指针 上下文数据 : 进程执行时处理器的寄存器中的数据 [ 休学例子要加图 CPU 寄存器 ] 。 I O 状态信息 : 包括显示的 I/O 请求 , 分配给进程的 I O 设备和被进程使用的文件列表。 记账信息 : 可能包括处理器时间总和使用的时钟数总和时间限制记账号等。 其他信息 如何理解进程 进程对应的代码和数据对应的task_struct结构  1.如何查看进程 进程的信息可以通过 /proc 系统文件夹查看  大多数进程信息同样可以使用top和ps这些用户级工具来获取 TOP命令: PS命令 PID和PPID可通过系统调用来获取 可通过fork来创建子进程 fork的使用一般要进行if分流 #include stdio.h #include sys/types.h #include unistd.h int main() {int ret fork();if(ret 0){perror(fork);return 1;}else if(ret 0){ //childprintf(I am child : %d!, ret: %d\n, getpid(), ret);}else{ //fatherprintf(I am father : %d!, ret: %d\n, getpid(), ret);}sleep(1);return 0; } 2.进程状态 我个人对进程状态的理解 运行task_struct 结构体在运行队列中排队 阻塞等待非CPU资源就绪 挂起当内存不足的时候OS通过适当地调整进程的代码和数据到磁盘此时进程被OS展示转移到磁盘时的状态就是挂起状态 static const char * const task_state_array[] {         R (running), /* 0 */         S (sleeping), /* 1 */         D (disk sleep), /* 2 */         T (stopped), /* 4 */         t (tracing stop), /* 8 */         X (dead), /* 16 */         Z (zombie), /* 32 */ }; R运行状态running : 并不意味着进程一定在运行中它表明进程要么是在运行中要么在运行队列里。 S睡眠状态sleeping) : 意味着进程在等待事件完成这里的睡眠有时候也叫做可中断睡眠 interruptible sleep 。 D磁盘休眠状态Disk sleep 有时候也叫不可中断睡眠状态 uninterruptible sleep 在这个状态的进程通常会等待IO 的结束。 T停止状态stopped 可以通过发送 SIGSTOP 信号给进程来停止 T 进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。 X死亡状态dead 这个状态只是一个返回状态你不会在任务列表里看到这个状态 Z僵尸状态(zombie) 认识进程状态 上面的STAT列就是进程状态R代表它是运行进程R后面的号代表它是前台进程  观察不难看出来上面./myproc进程的状态变成了R没有了号此时它是变成了后台进程。 如何理解Z僵尸状态(zombie) 当父进程通过fork来创建子进程后当子进程退出后但是还没有被父进程读取此时子进程就是僵尸进程。 下面通过代码来进程实验 #include stdio.h #include unistd.h #include stdlib.h #include sys/types.hint main() {pid_t id fork();if (id 0){perror(fork);return 1;}else if (id 0){ // parentprintf(parent[%d] is sleeping...\n, getpid());sleep(30);}else{printf(child[%d] is begin Z...\n, getpid());sleep(5);exit(1);}return 0; } 结果为通过while :; do ps aux | head -1 ps aux | grep myproc; sleep 1; echo ########################### ;done;来查看  僵尸进程的危害 资源占用虽然僵尸进程本身不占用CPU时间并且它们所占用的内存是微乎其微的但是它们会保持进程ID。由于Linux系统对进程数有严格的限制当僵尸进程数量达到一定数目时会导致系统中无法再产生新的进程因为新的进程无法使用已经被僵尸进程占用的进程ID。系统性能影响如果系统中存在大量的僵尸进程会占用一部分系统资源这可能会影响到服务器的性能尤其是在高并发或资源密集型的应用场景中。系统稳定性问题僵尸进程的存在可能引发一些潜在的系统稳定性问题。例如如果父进程因为某种原因如崩溃或挂起未能正确清理其僵尸子进程这些僵尸进程可能会在系统中长时间存在对系统稳定性构成威胁。 如何避免僵尸进程的产生 父进程应该通过调用wait或waitpid等函数来等待子进程的结束并获取其退出状态信息。这样子进程在退出后其相关资源可以被系统及时释放避免形成僵尸进程。同时对于可能产生大量子进程的应用也需要注意合理管理子进程的生命周期避免因为子进程管理不当而导致僵尸进程的产生。  如何理解孤儿进程 当父进程通过fork来创建子进程后但是父进程先于子进程退出此时子进程就是孤儿进程不过此时该进程会被1号 init 进程所领养。 下面通过代码来进程实验 #include stdio.h #include unistd.h #include stdlib.h #include sys/types.hint main() {pid_t id fork();if (id 0){perror(fork);return 1;}else if (id 0){ // childprintf(I am child, pid : %d\n, getpid());sleep(10);}else{ // parentprintf(I am parent, pid: %d\n, getpid());sleep(3);exit(0);}return 0; } 结果为通过 while :; do ps ajx | head -1 ps ajx | grep myproc; sleep 1; echo ########################### ;done;来查看 通过上图我们看到子进程孤儿进程被1号 Init 进程领养了。
http://www.pierceye.com/news/129352/

相关文章:

  • 网站开发团队人员网站建设开票属于什么服务
  • 学做网站初入门教程上海网站建设 觉策动力
  • 丰台建站公司做一个企业网站需要哪些技术
  • 黑色网站模板怎么写app程序
  • 常州建设局网站首页网站开发需求文档模板带er图
  • 网站名称是否已被注册简单的个人主页网站制作
  • 太仓网站开发wordpress留言板
  • 大型营销型网站制作装饰画
  • 移动网站和定制网站个体户 做网站
  • 网站建设的计划书网站源码下载 用户注册
  • 培训网站项目ppt怎么做抖音服务商
  • 做一个网站需要多少钱大概费用wordpress 2017
  • 惠州网页模板建站天河建设网站外包
  • html变Wordpress网络营销优化培训
  • 上海网站建设hxwlkj新浪网站源代码
  • 网站如何做美工想做代理商去哪找项目
  • 佛山市品牌网站建设多少钱印度网站开发成本
  • 群晖 nas 做网站软件开发视频网站
  • 建设银行云南分行招聘网站wordpress 教程
  • 杭州知名的网站制作策略创建一个购物网站需要什么
  • 新乡网站seo优化vs做的网站怎么让局域网的看到
  • 做静态网站怎样让图片自己切换重庆互联网公司排名
  • 微网站需要什么郑州哪家专业做淘宝网站
  • 郑州机械网站制作seo专业优化公司
  • 专注苏州网站优化长沙有哪些知名网站
  • 成品网站货源1688免费推荐建设银行科技中心网站
  • 城乡建设部统计信息网站大学生创新创业大赛项目计划书
  • 河南省水利建设厅网站清溪镇网站仿做
  • 深圳建设企业网站wordpress安装对搜索引擎
  • 做药物分析网站做网站花钱吗