Une compréhension préliminaire des fonctions de base du système d'exploitation Linux

 

 

  1. Fonction Fork (): s'exécute deux fois et retourne une fois. Après l'exécution de la fonction fork, si le nouveau processus est créé avec succès, deux processus apparaîtront, l'un est le processus enfant et l'autre le processus parent. Dans le processus enfant, la fonction fork renvoie 0. Dans le processus parent, fork renvoie l'ID de processus du processus enfant nouvellement créé. Nous pouvons déterminer si le processus actuel est un processus enfant ou un processus parent par la valeur renvoyée par fork.
    while((p1=fork())==-1); //如果子进程创建失败,则返回-1,while循环条件为==-1为真,重新执行while()循环,相当于不断重复创建子进程一直到创建成功为止

     

  2. wait () fonction: une fois que le processus parent appelle wait, il se bloque immédiatement. Wait analyse automatiquement si un processus enfant du processus en cours s'est arrêté. S'il trouve un processus enfant qui est devenu un zombie, wait collectera ces informations sur le processus fils, et le renvoyer une fois qu'il est complètement détruit; si un tel processus enfant n'est pas trouvé, attendre sera bloqué ici jusqu'à ce qu'il apparaisse.
  3. signal () function: fonction de signal de signal, le premier paramètre représente la valeur du signal (SIGHUP) à traiter, et le second paramètre est la fonction de traitement ou une représentation. Ici, SIG_IGN signifie ignorer le signal enregistré de SIGHUP.
    #供学习参考的代码片段
    
    signal(SIGINT,SIG_IGN);//忽略键盘输入的 Ctrl+C
    
    signal(16,Int1); //只要收到信号16,则执行Int1()函数
  4. fonction kill (): envoyer un signal au processus concerné;
    void IntDelete()
    
    {
    
    kill(pid1,16); //向进程 pid1 发送信号16
    
    kill(pid2,17); //同上
    
    }
  5. Fonction Pause (): le processus en cours est dans un état d'attente et ne peut pas reprendre l'exécution tant qu'un signal n'est pas reçu.
  6. fonction lockf (1,1,0): verrouille le périphérique de sortie standard, lockf (1,0,0): déverrouille le périphérique de sortie standard.
    lockf(1,1,0); //锁定标准输出设备
    
    for(i=0;i<500;i++)
    
        printf("son %d\n",i);
    
    lockf(1,0,0); //解锁标准输出设备
  7. fonction sleep (): autobloquante
    sleep(5); //自我阻塞五妙

     

Je suppose que tu aimes

Origine blog.csdn.net/geeksoarsky/article/details/89681177
conseillé
Classement