[C & Linux] comment "tuer" un processus ?

comment "tuer" un processus ? [C & Linux] - Programmation

Marsh Posté le 01-01-2002 à 17:15:53    

voila c encore moi :=)
je me demande si y a pas une fonction "propre" pour tuer un de mes process a un moment ( clique sur un boutton) , 'ai trouver une methode barbar ( kill +numero du process) mais bon ca le fait pas trop :=) et en + ca merde pas mal
voila j'espere avoir des reponces aussi rapide que la fois derniere ++
merci d'avance

Reply

Marsh Posté le 01-01-2002 à 17:15:53   

Reply

Marsh Posté le 01-01-2002 à 17:20:02    

kill marche toujours ou alors
c'est ton linux qui deconne.
un SIGKILL ne peut pas etre bloque
par un process => fin du process.
Evidemment c'est tres brutal.
 
A+
LEGREG

Reply

Marsh Posté le 01-01-2002 à 22:42:59    

oki merci ca me sembler barbar comme methode donc je m'inquieter  
 
merci quand meme

Reply

Marsh Posté le 01-01-2002 à 22:43:50    

dans tes process tu fait une fct  
int fin(int i)
qui termine proprement ton processus .
 
ensuite tu positionne cette routine =>  signal (SIGUSR1,fin);
et tu envoie le signal SIGUSR1 a ton processus , comme ca , il va aller dans la fonction fin , terminer proprement et s'arreter .
tu as aussi SIGUSR2 qui n'est pas pris par le système .


---------------

Reply

Marsh Posté le 02-01-2002 à 16:54:00    

Si le processus en question n'est pas ecrit par toi, la methode la plus propre est  
 
 * Envoie un SIGTERM au process. En theorie, dans les programme bien fait, ce signal est intercepté et il arrete proprement le programme. Si il est pas intercepté, ca l'arrete betement.
 * Si apres un time out ( par ex 5 sec ), le processus est tjs pas mort, envoyer un  SIGKILL ( c que le proces est +-planté )

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed