วิธีการรีสตาร์ท apache2 เมื่อฉันได้รับความขัดแย้ง pid?


28

ฉันได้รับข้อความเดียวกับที่อธิบายในเธรดนี้เมื่อฉันพยายามรีสตาร์ท apache2:

 * Restarting web server apache2 [fail]
 * There are processes named 'apache2' running which do not match your pid file which are left untouched in the name of safety, Please review the situation by hand.

แต่ปัญหาคือฉันไม่มีไฟล์ภายใน / var / run / apache2 คำสั่ง pidof apache2 ส่งคืน:

1274

ฉันไม่ทราบว่ามันจะช่วย แต่นี่คือบรรทัดใน apache2.conf:

PidFile ${APACHE_PID_FILE}

และหนึ่งใน envvars:

export APACHE_PID_FILE=/var/run/apache2/apache2$SUFFIX.pid

ฉันควรสร้างไฟล์. pid ด้วยตนเองภายใน / var / run / apache2 หรือไม่

ขอบคุณมาก !


Apache ติดตั้งอย่างไร? โคมไฟ, nginx, XAMPP? พุ่งพรวดอาจไม่ทราบวิธีการจัดการอินสแตนซ์ที่คุณติดตั้งถ้าพวกเขายังคงเรียกใช้สคริปต์ใน init.d
douggro

ฉันติดตั้ง Apache ผ่าน sudo apt-get install บน Ubuntu 13.10 (บนเครื่องเสมือน Azure) ฉันต้องพิมพ์คำสั่งเฉพาะเพื่อทราบสคริปต์การเรียกใช้หรือไม่
Ivan Gabriele

2
sudo kill -9 1274แล้วลองservice apache2 status ถ้ามันกลับมาพร้อมกับมาstopped/waitingแล้วsudo service apache2 start
douggro

ว้าวมันทำงานได้อย่างสมบูรณ์แบบ! ฉันรู้สึกโง่ที่ไม่เคยลองมาก่อน ... ขอบคุณมาก @douggro!
Ivan Gabriele

@douggro คุณควรป้อนsudo kill -9 <pid>เป็นคำตอบ มันก็ใช้ได้สำหรับฉันเช่นกัน
อนินทรีย์

คำตอบ:


28

ขอบคุณ @douggro ที่พบคำตอบ

ค้นหา processus id ของ Apache2 ด้วย:

pidof apache2 

ฆ่ากระบวนการ (es):

sudo kill -9 <pid>

จากนั้นคุณสามารถเริ่ม Apache2 ได้ตามปกติ:

sudo service apache2 start

UPDATE

หากsudo kill -9 <pid>ไม่ได้ผลให้ลองใช้sudo kill <pid>!


4
คุณอาจแก้ไขคำตอบเพื่อรวมรายละเอียดและทำให้มีประโยชน์มากขึ้น ความคิดเห็นไม่ได้หมายถึงการจัดเก็บข้อมูลที่ยั่งยืน
เซท

1
ไม่ทำงานสำหรับฉันใน Ubuntu 14.04
Nitesh Verma

1

หลังจากลองใช้ liners หนึ่งอันที่ไม่ได้ผลฉันพบสิ่งนี้

kill -9 $(pidof apache2)

ที่ดูเหมือนว่าจะทำงานได้ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.