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

  FORUM HardWare.fr
  Programmation
  C

  [Developpement linux] Processus en background et job control !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Developpement linux] Processus en background et job control !

n°1275188
Kenn
Posté le 31-12-2005 à 00:04:59  profilanswer
 

Salut tout le monde !
Apres avoir fait pas mal de recherches sur internet, je me permet de poster ici pour demander de l'aide !
Voici mon probleme :
 
Je suis en train de programmer en C/C++ un shell, qui doit se comporter a peu pres comme un shell unix classique,
c'est en fait un programme lancé a partir d'un shell et qui doit gerer qq fonctionnalités des shells , sans faire appel a la fonction system() bien entendu :p
Pour l'instant tout allait bien mais je suis tombé sur un os : la mise en place du job control  :cry:  
Je dois donc gerer le lancement en background de processus, malheuresement apres de longs et infructueux essais , j'en suis au meme point !
 
Lorsqu'un processus lancé en background demande l'acces en lecture au shell , il doit passer en "Suspended" . Et c la que je coince, comment faire ?
J'ai essayé de faire un dup2() de son entree standard sur /dev/null ou sur un pipe que lui seul utilise et le resultat est le meme : apres l'appel a execve(), le processus meurt . J'ai bien essayé de voir pourquoi en controlant les macros de waitpid() mais rien d'anormal   :heink:  
J'ai aussi essayé de chercher des explications pour savoir comment les vrais shell font mais je n'ai rien trouvé non plus, le man des shells bash et tcsh ne disent rien a ce sujet  ...  :o  
 
J'ai aussi essayé d'intercepter les signaux SIGTTIN et SIGCHLD en vain ... cette saleté de processus meurt et je ne comprends pas pourquoi !
 
En fait je cherche juste un moyen de savoir si un processus donné tente un acces au terminal en lecture , et si c le cas pouvoir l'en empecher  :non:  
Si qqn a une solution a proposer, ce serait vraiment sympa car je ne sais plus quoi faire ! Merci d'avance  :hello:

mood
Publicité
Posté le 31-12-2005 à 00:04:59  profilanswer
 

n°1275672
Danjer
Posté le 02-01-2006 à 00:17:33  profilanswer
 

A mon avis tu as surtout un probleme de conception. L'interet d'avoir a ecrire un shell c'est de savoir trouver l'information et comprendre les concepts de la programation Unix. Je vais te donner de quoi continuer tes recherches sur internet :
 - As-tu termine ta Line discipline ?
 - Et pour le Process Group Management ?
 
Bonne chance
 
PS : Pourquoi faire quelque chose quand le systeme peut le faire pour toi ?


---------------
Cdl, Danjer
n°1275709
Dion
Acceuil
Posté le 02-01-2006 à 03:47:24  profilanswer
 

Je me demande bien quelle est ta formation pour avoir un shell a faire :D


---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
n°1275875
Danjer
Posté le 02-01-2006 à 15:23:29  profilanswer
 

Dion a écrit :

Je me demande bien quelle est ta formation pour avoir un shell a faire :D


C'est les gens cools  :sarcastic:  qui ecrivent des shell, et encore plus quand ils le codent avec un clavier mappe en Dvorak


Message édité par Danjer le 02-01-2006 à 15:23:50

---------------
Cdl, Danjer

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

  [Developpement linux] Processus en background et job control !

 

Sujets relatifs
Developpement sur Windows Mobile 5Comment afficher l'etat des processus dans Cygwin?
nouvelle question linux...ptite question linux
[Shell] Petit script de suppression de processusoracle pour quelle distro linux ?
"erreur de segmentation" avec les threads sous linux en C++[socket] plantage sur les specifications du socket sous linux en C++
Impression d'image de fond (background).Création d'un cgi-bin exécutable sous linux
Plus de sujets relatifs à : [Developpement linux] Processus en background et job control !


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