La troisième technique pour générer et envoyer un signal consiste à utiliser un appel système.
Un processus peut donc envoyer un signal à un autre processus en utilisant l'appel système kill.
Notez donc que l'appel système kill est utilisé pour envoyer un signal d'un processus de l'espace utilisateur à un autre.
Processus de l'espace utilisateur.
Le synopsis de l'appel Kill System est très simple.
Le premier argument est l'ID du processus destinataire.
C'est le processus qui est censé recevoir le signal.
Le deuxième argument est le numéro du signal que vous souhaitez envoyer.
C'est vrai.
Le premier argument est donc l'ID du processus destinataire.
Le processus d'envoi doit connaître l'identifiant du processus destinataire pour pouvoir envoyer un signal.
Vous pouvez donc voir ici qu'il s'agit d'une implémentation très simple de l'émetteur et du récepteur dot C, n'est-ce pas ?
Vous pouvez donc voir dans le récepteur le point c.
Le récepteur a enregistré un gestionnaire de signal correspondant au signal sig us one.
C'est vrai.
La première chose à faire est donc de compiler le programme du récepteur et de l'exécuter.
J'ai placé un scanner ici pour que ce programme ne s'arrête pas.
Ainsi, parce que nous avons enregistré le signal, dès que ce programme recevra un signal
comme SR one, le gestionnaire de signal correspondant sera invoqué.
Maintenant, lorsque vous exécutez ce programme à l'aide de la commande PS, je vous ai déjà montré qu'en utilisant la commande
PS, vous pouvez toujours trouver l'ID de ce processus.
Une fois que vous avez trouvé l'identifiant du processus dans le fichier center dot c, spécifiez-le ici.
C'est vrai.
Et après avoir spécifié ce processus, ID ici, il suffit de recompiler le fichier center dot c et d'exécuter
l'exécutable.
Vous pouvez donc voir que dès que ce programme sera exécuté à l'aide de la commande kill, ce processus enverra un signal
sig esr one au processus récepteur pour expliquer pourquoi il envoie le signal au processus récepteur.
Parce que nous avons spécifié l'ID du processus récepteur comme premier argument de cette commande
kill.
Et bien sûr, vous devez exécuter ce programme dans une autre fenêtre de terminal.
Vous verrez donc que dès que le processus récepteur reçoit le signal Sig SR one, il invoque son gestionnaire
de signal.
Ces deux programmes sont donc en fait très petits et assez simples.
Tapez ces commandes dans la fenêtre de votre terminal et observez ce que vous observez.
C'était donc un signal pour vous.
Vous pouvez donc voir ici que 5939 est l'ID du processus de réception et que Sig SR one et Sig SR two sont réservés pour être utilisés en tant
que signaux définis par l'utilisateur.
En d'autres termes, il incombe à l'utilisateur de définir le gestionnaire de signaux correspondant aux signaux.
Il s'agissait donc d'envoyer un signal d'un processus à un autre ou du système d'exploitation à l'application.
C'est vrai ?
Ce thème du signal est donc relativement simple et facile par rapport à d'autres techniques de communication interprocessus.