首页 > 系统服务 > 详细

Linux编程学习笔记 -- Process

时间:2015-04-06 00:48:21      阅读:259      评论:0      收藏:0      [点我收藏+]
进程是一个程序的运行。
 
在一个程序中执行另一个执程序的方法有两种:
1)system 在shell中执行程序
2)fork + exec 复制一个进程,在进程中用新的程序替换原有的程序
 
fork
复制当前执行的进程。一个进程变两个进程。
根据函数的返回值判断是在那个进程中。父进程中返回的是子进程的PID。
 
exec
用新的程序替换当前执行的程序。
 
wait
父进程等待(block)子进程结束。
 
nice
调整进程的niceness,正数是降低进程调度的优先级。
 
signal
是一种异步通信机制。
进程收到信号后,中断当前的处理,执行信号处理函数。
进程中,可以注册对信号的handler。
常用的信号:SIGTERM SIGKILL SIGABRT SIGUSR1
其中SIGKILL在进程中不能忽略。
 
 
zombie process
子进程执行完毕后,父进程通过调用wait,获得子进程的结束信息。如果没有父进程来wait,子进程的结束状态信息就会一直保留,直到被init进程清理。这会占用系统的资源。
清理zombie的办法:
1)通过wait3, wait4轮询
2)在父进程中处理子进程执行完毕的信号
 
date: 2014.11.5

Linux编程学习笔记 -- Process

原文:http://www.cnblogs.com/weichsel/p/4395048.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!