Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1178 connectés 

  FORUM HardWare.fr
  Programmation

  [C/Linux] processus en background

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/Linux] processus en background

n°84514
nikewlas
Posté le 27-12-2001 à 13:44:19  profilanswer
 

Bonjour,
 
comment faut il faire pour envoyer un processus en tache de fond?
merci.

mood
Publicité
Posté le 27-12-2001 à 13:44:19  profilanswer
 

n°84603
Giz
Posté le 27-12-2001 à 19:10:43  profilanswer
 

Tu parles de l'utilisation de fork...qui permet de dupliquer un processus (pere/fils) ?


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
n°84615
nikewlas
Posté le 27-12-2001 à 20:43:46  profilanswer
 

entres autres, je pense qui doit aussi avoir une histoire avec execlp ou une fonction qui s' en rapproche.

n°84619
mystereetb​ouledegomm​e
Posté le 27-12-2001 à 21:16:09  profilanswer
 

Il me semble que lors de la creation de threads tu peux preciser leur priorite. Sinon tu fork et tu augmentes le nice...

n°84623
PaLoTTe
Posté le 27-12-2001 à 22:06:19  profilanswer
 

nikewlas a écrit a écrit :

Bonjour,
 
comment faut il faire pour envoyer un processus en tache de fond?
merci.  




 
tu tapes au prompt :
 
ta_commande &

n°84629
nikewlas
Posté le 27-12-2001 à 23:37:53  profilanswer
 

çà je sais, je voulais comment on fait pour le lancer en tâche de fond à partir d' un programme en C

n°84631
Suri
Darksurious
Posté le 28-12-2001 à 00:13:43  profilanswer
 

PaLoTTe a écrit a écrit :

 
tu tapes au prompt :
ta_commande &  




[:wam]  :lol:  :lol:  :lol:


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°84638
LeGreg
Posté le 28-12-2001 à 01:46:42  profilanswer
 

ben  
man fork
 
(desole mais la on parle de linux
donc man :D )
 
LEGREG

n°84698
Fork
Posté le 28-12-2001 à 12:55:06  profilanswer
 

Le principe est de créer volontairement un processus zombie, à une nuance près. Utilise la structure suivante pour ton programme :
 
 
zombie = fork();
 
if( zombie != (pid_t) 0 )
{
   // processus père. On le kill pour reprendre la main.
   exit(0);
}
 
else
{
   // Le processus zombie reprend le pid du père : il redevient  
   // le processus principal, mais s'exécute en tâche de fond.
 
   setsid();
 
   // ton programme en tâche de fond.
   ...
   ...
   exit(0);
}

n°84699
Fork
Posté le 28-12-2001 à 12:56:18  profilanswer
 

Petite précision : maintenant, pour terminer ce processus, il faut récupérer son pid avec la command "ps" et envoyer un signal de terminaison avec "kill".

mood
Publicité
Posté le 28-12-2001 à 12:56:18  profilanswer
 

n°84735
Giz
Posté le 28-12-2001 à 18:51:01  profilanswer
 

nikewlas a écrit a écrit :

entres autres, je pense qui doit aussi avoir une histoire avec execlp ou une fonction qui s' en rapproche.  




 
Ben non en fait car les fonctions exec(l/lp/le/v/vp/ve) ne font que REMPLACER LE PROCESSUS COURANT(c'est à dire ton programme que tu as lancé sera terminé à cause de la fonction exec qui s'exécutera...et n'ira pas plus loin!)

 

[edtdd]--Message édité par Giz--[/edtdd]


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3
n°84749
Giz
Posté le 28-12-2001 à 20:04:35  profilanswer
 

Pour faire tourner un processus en tâche de fond je ferais:
 
Je crée un fork, puis dans le processus père j'apelle la fonction wait(), le père attendra donc la fin du processus fils (qui sera la tâche de fond a executer) et terminera sa tache lorsque le fils aura fini.


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C/Linux] processus en background

 

Sujets relatifs
[C/Linux] Recuperer la taille d'un terminal[C/Unix] Processus en C
[Linux et c] lancement d'une appli a partir de mon programmeDesinstallation de JAVA JRE 1.3.1 linux
SSH LINUX PROG SHELL[c/c++ linux multi-process] fork,execl
[jbuilder] pb démarrage jbuilder5 linux[java] comment installer la jvm sous linux
c/c++ et les processus[C / Linux] nom d' un utilisateur
Plus de sujets relatifs à : [C/Linux] processus en background


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR