เมื่อใดก็ตามที่ฉันเริ่ม Amavisd รายงานจะเริ่มทำงานตามปกติ แต่การตรวจสอบสถานะแจ้งว่าไม่สามารถใช้งานได้
$ บริการ amavisd เริ่มต้น
เริ่มต้น amavisd: [ ตกลง ]
สถานะบริการ $ amavisd
amavisd ตายแต่ subsys ถูกล็อค
แต่ Amavisd ก็ทำงานได้ดี รายงาน PID ที่ถูกต้อง
$ cat /var/run/amavisd/amavisd.pid
13019
$ ps aux | grep amavisd
อมาวิส 2764 1.6 31.3 1938024 1266376 ? Ssl 28 พฤษภาคม 23:30 clamd.amavisd -c /etc/clamd.d/amavisd.conf --pid /var/run/clamd.amavisd/clamd.pid
อมาวิส 13019 3.1 3.2 393740 132492 ? ส. 18:00 0:00 /usr/sbin/amavisd (หลัก)
อมาวิส 13032 0.0 3.2 394964 129264 ? S 18:00 00:00 /usr/sbin/amavisd (เด็กบริสุทธิ์)
อมาวิส 13033 0.0 3.2 394964 129264 ? S 18:00 00:00 /usr/sbin/amavisd (เด็กบริสุทธิ์)
เมลเซิร์ฟเวอร์ทำงานได้ดีและสามารถเชื่อมต่อโดยตรงกับ Amavisd ได้ด้วยตนเอง:
$ telnet localhost 10024
ลอง 127.0.0.1...
เชื่อมต่อกับ localhost
อักขระ Escape คือ '^]'
220 [127.0.0.1] ESMTP amavisd-บริการใหม่พร้อมแล้ว
เป็นกระบวนการเดียวที่ทำงานบนพอร์ต 10024
netstat -tulpn |grep 10024
tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 13019/amavisd (เสา
tcp 0 0 ::1:10024 :::* ฟัง 13019/amavisd (เสา
การหยุดบริการและล้าง PID ล็อคไฟล์ ฯลฯ ไม่ได้ช่วยอะไร เช่น. ขั้นตอนต่อไปนี้ให้ผลลัพธ์เหมือนกับด้านบน เช่นเดียวกับการล้างไฟล์ที่รันและรีบูต
บริการ $ amavisd หยุด
การปิดระบบ amavisd: Daemon [3046] ถูกยกเลิกโดย SIGTERM
[ ตกลง ]
สถานะบริการ $ amavisd
amavisd หยุดทำงาน
$ rm /var/run/amavisd/*
$ rm /var/lock/subsys/amavisd
$ บริการ amavisd เริ่มต้น
เริ่มต้น amavisd: [ ตกลง ]
สถานะบริการ $ amavisd
amavisd ตายแต่ subsys ถูกล็อค
ไฟล์ init.d สำหรับ Amavis มีดังต่อไปนี้สำหรับการตรวจสอบสถานะ
สถานะ)
สถานะ ${prog_base}
RETVAL=$?
;;
ฉันควรจะดูที่การเขียนใหม่นี้หรือไม่? หรือปัญหาอาจอยู่ที่อื่น?
ทำไมมันถึงคิดว่ามันตายทั้งที่มันยังวิ่งอยู่?
และฉันคิดว่าไม่ได้รายงานชื่อกระบวนการที่ถูกต้อง:
$ cat /var/run/amavisd/amavisd.pid
24073
$ ps -p 24073 -o สื่อสาร=
/usr/sbin/amavi
ในขณะที่กระบวนการอื่นๆ มีรายงานดังนี้:
$ ps -p 3145 -o สื่อสาร=
php-fpm
$ ps -p 3202 -o สื่อสาร=
httpd