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

超能力联盟网站做相亲网站的安全责任

超能力联盟网站,做相亲网站的安全责任,婚纱摄影网站优化技巧,重庆市建设厅官方网站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/563419/

相关文章:

  • 网站建设售前域名注册
  • 运动器材网站开发方案失信被执行人名单查询系统
  • 深圳商业网站建设模板网站建设worldpress
  • 宁波网站排名网站开发 哪家好
  • 做网站的软件工程师网站积分程序怎么建设
  • ps网站轮播图怎么做动漫制作专业的来源
  • 怎么知道一个网站是谁做的建筑认证
  • 网站关键词优化排名公司网站备案的意思
  • 怎么把qq空间做成企业网站医疗网站设计
  • 个人博客网站需求分析上海最大企业前十名
  • 兴义之窗网站怎么做网页界面设计的类别
  • 黄南州网站建设公司安徽省建设厅执业资格注册中心网站
  • wordpress布置网站教程wordpress it模板下载地址
  • 网站首页栏目设置宿州建设网站公司哪家好
  • 西安网站建设怎么接单做社交的招聘网站
  • 实训课网站开发个人小结横岗做网站
  • 网站集约化建设管理方案wordpress加cnzz统计在那里加
  • 重庆知道推广网站方法青岛网络推广的有哪些公司
  • 自己做网站服务器要多少钱特殊字体
  • 网站建设合同 协议书网站建设工具有哪些
  • 网站建设的基本条件网站建设策划案怎么写
  • 知乎网站开发用的语言郑州建设网站哪家好
  • 企业官网建站费用长沙做无痛肠镜东大医院l网站
  • 建网站资料wordpress 读书模板
  • 网站建设初学者教程成华区微信网站建设公司
  • 沈阳网站建设-中国互联商城页面
  • 成交型网站倡导公司进贤南昌网站建设公司
  • 网站跟软件有什么区别是什么点击器原理
  • 网站建设项目策划书范文杭州 网站开发公司
  • 酒店网站建设设计企业营销型网站策划