- fork()函数:一次执行两次返回,在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。在子进程中,fork函数返回0,在父进程中,fork返回新创建子进程的进程ID。我们可以通过fork返回的值来判断当前进程是子进程还是父进程。
while((p1=fork())==-1); //如果子进程创建失败,则返回-1,while循环条件为==-1为真,重新执行while()循环,相当于不断重复创建子进程一直到创建成功为止
- wait()函数:父进程一旦调用了wait就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。
- signal()函数:signal信号函数,第一个参数表示需要处理的信号值(SIGHUP),第二个参数为处理函数或者是一个表示,这里,SIG_IGN表示忽略SIGHUP那个注册的信号。
#供学习参考的代码片段 signal(SIGINT,SIG_IGN);//忽略键盘输入的 Ctrl+C signal(16,Int1); //只要收到信号16,则执行Int1()函数
- kill()函数:向相关进程发送信号;
void IntDelete() { kill(pid1,16); //向进程 pid1 发送信号16 kill(pid2,17); //同上 }
- pause()函数:是当前进程处于等待状态,直到接收到一个信号后才能恢复执行。
- lockf(1,1,0)函数:锁定标准输出设备,lockf(1,0,0):解锁标准输出设备。
lockf(1,1,0); //锁定标准输出设备 for(i=0;i<500;i++) printf("son %d\n",i); lockf(1,0,0); //解锁标准输出设备
- sleep()函数:自我阻塞
sleep(5); //自我阻塞五妙
Linux 操作系统基础函数初步了解
猜你喜欢
转载自blog.csdn.net/geeksoarsky/article/details/89681177
今日推荐
周排行