Comment mettre fin à un processus (httpd) lorsque son PID continue à changer dans CENTOS 7

-3

Quand j'ai essayé de redémarrer mon service httpd en utilisant systemctl restart httpd

En vérifiant le statut, j'ai trouvé que le processus est mort et qu'un autre processus est en cours d'exécution. donc je l'ai enlevé en utilisantyum erase httpd

Par mesure de précaution, j'ai vérifié si le processus fonctionnait toujours ps aux | grep httpd#et j'ai constaté qu'il l'était, mais que cette fois, le PID était différent. et après les requêtes suivantes, le PID continuait à changer. Si j'essaie de tuer en utilisant n'importe quel PID, ça diraitNO Such Process

Vérifiez la capture d'écran:

entrez la description de l'image ici

D'où la question. Comment puis-je arrêter ce processus pour pouvoir installer le service à partir de zéro et le configurer?

Anup Sharma
la source
3
Ce PID n'est pas un processus http. Ce PID est un processus grep. Essayez "systemctl status httpd" pour vérifier le statut httpd. Mais si vous effacez le paquet httpd, vous n'avez plus aucun processus de httpd
Andrés Sánchez García
Exactement ma question. Quand j'ai déjà effacé le paquet httpd, comment puis-je avoir httpd (pid 22595) déjà en cours d'exécution.
Anup Sharma
3
Vous aussi grep pour avoir httpd#inclus le #. Supprimez le #à correspondre correctement pour httpd.
Faker

Réponses:

1

Vous devez comprendre que lorsque vous grep httpdne récupérez pas uniquement les processus Apache, mais également le processus grep . Vous voyez votre propre commande reflétée sur vous.

# ps ax | grep httpd
1818? Ss 0:53 / usr / sbin / httpd
38729? S 4:38 / usr / sbin / httpd
38730? S 4:49 / usr / sbin / httpd
54915 pts / 0 S + 0:00 grep httpd

Machavity
la source
Incompris. Mais malgré tout, si je teste le statut de systemctl httpd, le même message d'erreur que httpd (pid 22595) est en cours d'exécution et le démarrage du serveur HTTP Apache a échoué.
Anup Sharma
Essayez ceci à la placeservice httpd status
Machavity le
Même erreur. Aussi, quand j'essaye de tuer 22595, il dit NON, un tel processus
Anup Sharma
3
Ma meilleure hypothèse est alors que le fichier httpd.pid existe toujours et que le système le renvoie. Puisque votre grepest vide, vous voudrez peut-être vous assurer que ce fichier a été supprimé.
Machavity
Ne peut pas vraiment trouver le fichier n'importe où. pouvez-vous s'il vous plaît me dire son emplacement possible en dehors de var / run?
Anup Sharma
2

Essayez:

find / -name "httpd.pid"
puis supprimez le fichier pid, s'il existe.

Aussi, juste au cas où:

systemctl stop httpd
systemctl disable httpd

Machavity a également raison, chaque fois que vous sortez de la sortie de ps, vous verrez votre commande grep également. C'est une chose à laquelle vous vous habituerez.

red_shift
la source
0

Une autre approche consiste killall httpdà supprimer tous les processus nommés httpd.

sa289
la source
J'ai essayé mais ça n'a pas marché. La suggestion de redémarrage de @Machavity a fonctionné.
Anup Sharma