Linux 操作系统基础函数初步了解

  1. fork()函数:一次执行两次返回,在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。在子进程中,fork函数返回0,在父进程中,fork返回新创建子进程的进程ID。我们可以通过fork返回的值来判断当前进程是子进程还是父进程。
    while((p1=fork())==-1); //如果子进程创建失败,则返回-1,while循环条件为==-1为真,重新执行while()循环,相当于不断重复创建子进程一直到创建成功为止
  2. wait()函数:父进程一旦调用了wait就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。
  3. signal()函数:signal信号函数,第一个参数表示需要处理的信号值(SIGHUP),第二个参数为处理函数或者是一个表示,这里,SIG_IGN表示忽略SIGHUP那个注册的信号。
    #供学习参考的代码片段
    
    signal(SIGINT,SIG_IGN);//忽略键盘输入的 Ctrl+C
    
    signal(16,Int1); //只要收到信号16,则执行Int1()函数
  4. kill()函数:向相关进程发送信号;
    void IntDelete()
    
    {
    
    kill(pid1,16); //向进程 pid1 发送信号16
    
    kill(pid2,17); //同上
    
    }
  5. pause()函数:是当前进程处于等待状态,直到接收到一个信号后才能恢复执行。
  6. 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); //解锁标准输出设备
  7. sleep()函数:自我阻塞
    sleep(5); //自我阻塞五妙

猜你喜欢

转载自blog.csdn.net/geeksoarsky/article/details/89681177