Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux

Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux

Réponse
 
Outils de la discussion
Vieux 21/08/2007, 10h26   #1 (permalink)
Rédacteur
 
Avatar de parp1
 
Date d'inscription: mai 2005
Localisation: Caen
Âge: 24
Messages: 818
Par défaut Comment démarrer un processus via son pid ou comment reconnaitre un processus

Bonjour voila je developpe un petit soft, qui me permettra de lancer des processus, ou de les arreter.

Ma question est :

Est ce qu'il est possible de forcer le pid d'un processus a son lancement?

Si oui comment et n'est ce pas dangereux?

Si non, comment reconnaitre le pid d'un processsus.
Code :
Par exemple

console# ps aux 

processus a pid 1
processus b pid 2
processus c pid 3
Est ce qu'il est possible de detruire le processus a par exemple? ou de relever son pid ?


Merci de votre attention. Je suis sous Debian Etch.
__________________
Dis moi qui tu suis, je te dirais qui je Hais!
Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

Mon premier Tutoriel

You are safe in Parp1City .... (AC DC)
Ensemble luttons contre le chômage de parp1City!



A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2007, 11h59   #2 (permalink)
Membre habitué
 
Avatar de PierreAd
 
Date d'inscription: février 2005
Localisation: Lyon
Âge: 23
Messages: 163
Par défaut

Hello,

Pour détruire un processus dont tu connais le pid, tu peux utiliser la commande shell "kill xxx", en root. Pour forcer le pid d'un process à son lancement, je n'en sais rien, mais dis nous déjà si tu développes en shell (je suppose que c'est ça), en C, en python, en ....

Cordialement,


PierreAd
PierreAd est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2007, 12h27   #3 (permalink)
Rédacteur
 
Avatar de parp1
 
Date d'inscription: mai 2005
Localisation: Caen
Âge: 24
Messages: 818
Par défaut

Enfait le programme sera du du shell, j'utilise le protocole SSH via C#.

Je veux connaitre les commandes shell avant de les implémenter.

Merci, en fait le truc c'est que je loue un serveur chez OVH, et j'héberge des serveurs de jeux, je voudrais pouvoir le stopper-démarer quand c'est utile.

Je connais la ligne de commande exact, peut etre je peux supprimer le processus via le nom... de l'executable.?
__________________
Dis moi qui tu suis, je te dirais qui je Hais!
Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

Mon premier Tutoriel

You are safe in Parp1City .... (AC DC)
Ensemble luttons contre le chômage de parp1City!



A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

Dernière modification par parp1 ; 21/08/2007 à 13h06
parp1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2007, 14h06   #4 (permalink)
Membre expérimenté
 
Avatar de valefor
 
Date d'inscription: décembre 2006
Messages: 559
Par défaut

Certaines distributions fournissent un exécutable qui s'appelle killall et qui permet de tuer des processus par nom.

J'imagine que si tu trouve réponse à ta deuxième question, la première n'a plus lieu, parce que je ne crois pas que ce soit possible.
valefor est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2007, 16h14   #5 (permalink)
Rédacteur
 
Avatar de Davidbrcz
 
Date d'inscription: juin 2006
Localisation: Systeme Solaire,La Terre,Europe,France,IDF, Paris
Âge: 16
Messages: 1 275
Envoyer un message via MSN à Davidbrcz
Par défaut

Citation:
Est ce qu'il est possible de forcer le pid d'un processus a son lancement?
Non.Seul init a un PID constant (1) d'un sytème a l'autre.

Citation:
Si oui comment et n'est ce pas dangereux?
Cf avant

Citation:
Est ce qu'il est possible de detruire le processus a par exemple?
killall a

Citation:
ou de relever son pid
Je sais pas mais sache que la variable $! récupère le PID du dernier procéssus lancé en arriare plan (avec un & a la fin de la commande)

Sinon si c'est un prog perso , tu lui fait écrire son PID dans ~/.lenomduprog/PID
__________________
Partager grâce à l'open source et aux logiciels libres.

"Never use brute force in fighting an exponential." (Andrei Alexandrescu)

Conseils perso en vrac sur le C++ Une très bonne doc sur la STL (en) Why linux is better (fr)
Davidbrcz est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2007, 16h20   #6 (permalink)
Membre habitué
 
Avatar de PierreAd
 
Date d'inscription: février 2005
Localisation: Lyon
Âge: 23
Messages: 163
Par défaut

Citation:
ou de relever son pid ?
Pour ça, une commande comme "ps -e | grep PID | cut -d" " -f1" devrait le faire non ?
PierreAd est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2007, 16h26   #7 (permalink)
Rédacteur
 
Avatar de parp1
 
Date d'inscription: mai 2005
Localisation: Caen
Âge: 24
Messages: 818
Par défaut

Ok merci beaucoup. Killall est installer sur debian Etch.

Je vais regarder comment ca fonctionne. Et surtout savoir ce qu'est le nom de mon processus....
__________________
Dis moi qui tu suis, je te dirais qui je Hais!
Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

Mon premier Tutoriel

You are safe in Parp1City .... (AC DC)
Ensemble luttons contre le chômage de parp1City!



A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2007, 16h43   #8 (permalink)
Rédacteur
 
Avatar de parp1
 
Date d'inscription: mai 2005
Localisation: Caen
Âge: 24
Messages: 818
Par défaut

Ok merci beaucoup pour toutes ces solutions. Désolé je suis débutant sous linux..

Je ne trouve pas et je ne sais pas comment donner ou trouver le nom d'un processus?

Je fais ps aux et j'ai un ribenbelle de processus.

J'ai des colonnes.user, pid, %cpu, %mem, VSZ, RSS, TTY, STAT, Start, Time Command

Je ne vois pas ou est le nom la dedans. je n'ai pas trouver de doc sur TTY...
__________________
Dis moi qui tu suis, je te dirais qui je Hais!
Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

Mon premier Tutoriel

You are safe in Parp1City .... (AC DC)
Ensemble luttons contre le chômage de parp1City!



A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2007, 17h02   #9 (permalink)
Rédacteur
 
Avatar de Davidbrcz
 
Date d'inscription: juin 2006
Localisation: Systeme Solaire,La Terre,Europe,France,IDF, Paris
Âge: 16
Messages: 1 275
Envoyer un message via MSN à Davidbrcz
Par défaut

Code :
ps aux | grep nomduprocess
Met la 1er lettre du nom du processus entre crochet .
Pourquoi ?
Pour éviter d'avoir le processus ps qui s'affiche(plus d'info regarde du coté des regex).
Exemple :
Code :
ps aux | grep [f]irefox
__________________
Partager grâce à l'open source et aux logiciels libres.

"Never use brute force in fighting an exponential." (Andrei Alexandrescu)

Conseils perso en vrac sur le C++ Une très bonne doc sur la STL (en) Why linux is better (fr)
Davidbrcz est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/08/2007, 10h19   #10 (permalink)
Rédacteur
 
Avatar de parp1
 
Date d'inscription: mai 2005
Localisation: Caen
Âge: 24
Messages: 818
Par défaut

Pour écrire le Pid dans un fichier, je fais ca :
Code :
./hlds_run -game dod -PID=serveurFFa.pid
Est ce que c'est bon ?
__________________
Dis moi qui tu suis, je te dirais qui je Hais!
Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

Mon premier Tutoriel

You are safe in Parp1City .... (AC DC)
Ensemble luttons contre le chômage de parp1City!



A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/08/2007, 20h59   #11 (permalink)
Rédacteur
 
Avatar de parp1
 
Date d'inscription: mai 2005
Localisation: Caen
Âge: 24
Messages: 818
Par défaut

J'ai essayer ca aussi ....

Code :
./hlds-run -game "dod" --pid-file=/etc/usr/FFA.pid
Ca ne fonctionne pas... peut etre quej e n'ai pas les droits pour écrire
__________________
Dis moi qui tu suis, je te dirais qui je Hais!
Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

Mon premier Tutoriel

You are safe in Parp1City .... (AC DC)
Ensemble luttons contre le chômage de parp1City!



A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 23/08/2007, 18h07   #12 (permalink)
Membre expérimenté
 
Avatar de valefor
 
Date d'inscription: décembre 2006
Messages: 559
Par défaut

Peut-être que la commande "hlds_run" ne prend pas de nom de fichier pour le pid en paramètre ?

Il ne te dit pas un message d'erreur ? Tu ne peux pas lui demander ce qu'il accepte comme options avec "./hlds_run --help" ? Tu es sûr qu'il implémente cette fonctionalité ? N'y a-t-il pas un fichier de conf plutôt ?
valefor est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide