Tuer un processus ?
Résolu
DieseL
-
DieseL -
DieseL -
Bonjour,
Je travail actuellement sur une panel de gestion de serveur de jeux (Wolfenstein : ET), en php.
Dans ce manager, il est possible d'éteindre et de rallumer son serveur alloué. J'utilise la fonction ssh_exec(), avec laquelle je passe des commandes qui sert à administrer le serveur en question.
Cependant ma question ne relève pas de php, mais je cherche a savoir comment tuer un processus bien précis (éteindre le serveur en gros).
En effet, il y a plusieurs serveur du même jeux et les processus de ces serveurs ont le même nom, je ne peux donc pas faire un killall -9 name, sa fermerai les serveurs de mes autres clients.
Comment réussir alors a tuer tous les processus d'un user linux par exemple (chacun des serveurs de jeu est héberger dans le home d'un user que j'ai créer), ou de trouver le PID du processsus qui apartient au serveur de jeu, et ensuite de tuer tout en passant par du ssh.
Pour résumer: Comment trouver un PID et le fermer avec du ssh.
Je vous remercie d'avance pour vos réponses.
Je travail actuellement sur une panel de gestion de serveur de jeux (Wolfenstein : ET), en php.
Dans ce manager, il est possible d'éteindre et de rallumer son serveur alloué. J'utilise la fonction ssh_exec(), avec laquelle je passe des commandes qui sert à administrer le serveur en question.
Cependant ma question ne relève pas de php, mais je cherche a savoir comment tuer un processus bien précis (éteindre le serveur en gros).
En effet, il y a plusieurs serveur du même jeux et les processus de ces serveurs ont le même nom, je ne peux donc pas faire un killall -9 name, sa fermerai les serveurs de mes autres clients.
Comment réussir alors a tuer tous les processus d'un user linux par exemple (chacun des serveurs de jeu est héberger dans le home d'un user que j'ai créer), ou de trouver le PID du processsus qui apartient au serveur de jeu, et ensuite de tuer tout en passant par du ssh.
Pour résumer: Comment trouver un PID et le fermer avec du ssh.
Je vous remercie d'avance pour vos réponses.
A voir également:
- Tuer un processus ?
- Processus hôte windows (rundll32) ✓ - Forum Windows
- Comment tuer akinator ✓ - Forum Loisirs / Divertissements
- Comment tuer un habitant dans animal crossing new horizon - Forum Jeux vidéo
- Akinator le génie du web ✓ - Forum Réseaux sociaux
- Processus d'execution client serveur - Forum Windows 10
14 réponses
Salut,
Normalement la commande :
Renvoie les processus (et leur PID) de l'utilisateur USER ou de son UID.
Parallèlement il existe les commandes "pgrep" et "pkill".
Donc pour toi, je suppose que :
devrait te renvoyer le PID désiré.
Normalement la commande :
ps -u $USER ou ps -U UID
Renvoie les processus (et leur PID) de l'utilisateur USER ou de son UID.
Parallèlement il existe les commandes "pgrep" et "pkill".
Donc pour toi, je suppose que :
pgrep -u $USER nom_serveur_de_jeu
devrait te renvoyer le PID désiré.
Salut,
En fait le retour de ssh2_exec c'est soit un flux si pas d'erreur soit FALSE.
Voici un test chez moi
En fait le retour de ssh2_exec c'est soit un flux si pas d'erreur soit FALSE.
Voici un test chez moi
lami20j@debian-vbox:~$ ssh 10.0.0.3 pgrep -u root apache2 lami20j@10.0.0.3's password: 2944 lami20j@debian-vbox:~$ cat test.php <? $connection = ssh2_connect('10.0.0.3', 22); ssh2_auth_password($connection, 'lami20j', 'a'); $commande = ssh2_exec($connection, 'pgrep -u root apache2'); stream_set_blocking($commande, true); $pid = stream_get_contents($commande); echo $pid; ?> lami20j@debian-vbox:~$ php test.php 2944
Re,
qu'est-ce qui va s'afficher ?
T'as pas eu la curiosité de voir ?!!! :-(
qu'est-ce qui va s'afficher ?
T'as pas eu la curiosité de voir ?!!! :-(
lami20j@debian-vbox:~$ ssh 10.0.0.3 pgrep -u www-data apache2 lami20j@10.0.0.3's password: 2978 2979 2980 2981 2982 lami20j@debian-vbox:~$ cat test.php <? $connection = ssh2_connect('10.0.0.3', 22); ssh2_auth_password($connection, 'lami20j', 'a'); $commande = ssh2_exec($connection, 'pgrep -u www-data apache2'); stream_set_blocking($commande, true); $pid = stream_get_contents($commande); echo $pid; ?> lami20j@debian-vbox:~$ php test.php 2978 2979 2980 2981 2982
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
J'ai utiliser ceci:
ps -u etserver(user)
Il me renvoi un message de la forme:
Resource id #7
Qu'est-ce que c'est ?
Comment tuer le processus avec ce que php m'a retourné ?
J'ai utiliser ceci:
ps -u etserver(user)
Il me renvoi un message de la forme:
Resource id #7
Qu'est-ce que c'est ?
Comment tuer le processus avec ce que php m'a retourné ?
C'est le nom de l'utilisateur "etserver" ?
Tu lances la commande depuis un terminal ?
C'est quoi comme système d'installé ?
Tu lances la commande depuis un terminal ?
C'est quoi comme système d'installé ?
OS: Debian lenny (dernière distrib)
Je me connecte en root pour les fonctions ssh2, etserver est l'user dans lequel j'ai installé le serveur de jeu.
En règle général je ne me connecte que par ssh via putty, je n'ai pas accès au bureau graphique.
Mon code php:
$connection = ssh2_connect('87.98.141.73', 22);
ssh2_auth_password($connection, 'root', '******');
$commande = ssh2_exec($connection, 'pgrep -u etserver etded.x86');
echo $commande;
(je viens de retenter, j'ai obtenu Resource id #6 )
Je présice que pour allumer le serveur j'utilise la méthode screen. ( si sa peut aider)
Je me connecte en root pour les fonctions ssh2, etserver est l'user dans lequel j'ai installé le serveur de jeu.
En règle général je ne me connecte que par ssh via putty, je n'ai pas accès au bureau graphique.
Mon code php:
$connection = ssh2_connect('87.98.141.73', 22);
ssh2_auth_password($connection, 'root', '******');
$commande = ssh2_exec($connection, 'pgrep -u etserver etded.x86');
echo $commande;
(je viens de retenter, j'ai obtenu Resource id #6 )
Je présice que pour allumer le serveur j'utilise la méthode screen. ( si sa peut aider)