comment "tuer" un processus ? [C & Linux] - Programmation
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
Marsh Posté le 01-01-2002 à 22:42:59
oki merci ca me sembler barbar comme methode donc je m'inquieter
merci quand meme
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 .
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é )
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