码迷,mamicode.com
首页 > 系统相关 > 详细

Linux编程学习笔记 -- Process

时间:2015-04-06 00:50:32      阅读:182      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!