![]() |
guill.net
-
La page des réseaux
|
![]() ![]() |
Rajouter au fichier essai la ligne :
Réalise la décomposition
en facteurs premiers du nombre passé en paramètre.
cat fonctions | bc -l
Solution:
/* écho de la ligne des arguments de le la ligne de commande */
main(int argc, char *argv[]) {
int i;
if (argc == 1) printf("pourriez-vous me donner quelques paramètres
s.v.p ?!?\n");
else
for (i=1; i<argc; i++)
printf("%s%s",argv[i],(i<argc-1) ? " " : "");
printf("\n");
return 0;
}
void Traite_Sig (int
Numero)
{
printf("Coucou,
recu signal %d ! mais je l'ignore !\n", Numero);
signal
(Numero,Traite_Sig); /* !!!!!!!!! */
}
main()
{
int Nb_Sig
;
for
(Nb_Sig = 1; Nb_Sig < NSIG ; Nb_Sig ++)
{
signal (Nb_Sig,Traite_Sig);
}
while(1);
/* Attendre des signaux */
}
#include <signal.h>
#include <stdio.h>
#include <unistd.h>
/* pour la fonction alarm */
int nombre;
void traite_alarme()
{
nombre=100;
printf("Le nombre
entré vaut:%d\n",nombre);
printf("Veuillez
entrer un AUTRE nombre:");
scanf ("%d",&nombre);
printf("Le NOUVEAU
nombre entré vaut:%d\n",nombre);
}
main()
{
alarm(3);
signal(SIGALRM,traite_alarme);
printf("Veuillez
entrer un nombre:");
scanf ("%d",&nombre);
printf("Le nombre
entré vaut:%d\n",nombre);
}
Exercice 2
#include <signal.h>
#include <stdio.h>
#include <unistd.h>
/* pour la fonction alarm */
int i='a';
int j;
void traite_alarme() {
printf("caractère
suivant: %c \n",i);
i++;
signal(SIGALRM,traite_alarme);
if (i<='z')
alarm(1);
else exit(0);
}
main()
{
signal(SIGALRM,traite_alarme);
alarm(1);
while (1);
}
main() {
pid_t pid;
int status;
switch(pid=fork()){
case -1: perror("Création de processus");
exit(2); break;
case 0: /* processus fils bouclant*/
while (1); break;
default: /* on est dans le processus
père */
sleep(5);
if (kill(pid,0)==-1)
printf ("FILS %d inexistant\n",pid);
else {
printf (" envoi de SIGUSR1 au processus %d\n",pid);
kill(pid,SIGUSR1);
}
}
}
Exercice 1:
BEGIN {
print "Voici
toutes les lignes qui contiennent la chaîne BO"
}
/BO/ { print FILENAME ,
FNR , $0 }
Exercice 2:
{ print NR, $0 }
Exercice 3:
/.*[Ee].*1/ { print FILENAME
, FNR , $0 }
END { print "Vous avez vu
les lignes qui contiennent un e "
print "puis des caractères quelconques puis un 1 " }