Linux编程学习笔记 -- Process

进程是一个程序的运行。
 
在一个程序中执行另一个执程序的方法有两种:
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

转载于:https://www.cnblogs.com/weichsel/p/4395048.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值