Điểm:0

Tại sao status báo là nó đã chết và subsys bị khóa, nhưng nó vẫn chạy mà không có vấn đề gì?

lá cờ in

Bất cứ khi nào tôi khởi động Amavisd, các báo cáo bắt đầu OK, nhưng kiểm tra trạng thái cho biết nó đã chết.

$ dịch vụ amavisd bắt đầu
Bắt đầu amavisd: [ OK ]

$ dịch vụ tình trạng amavisd
amavisd chết nhưng subsys bị khóa

Nhưng Amavisd vẫn chạy tốt. Báo cáo PID chính xác.

$ mèo /var/run/amavisd/amavisd.pid 
13019

$ps aux | grep amavisd
amavis 2764 1.6 31.3 1938024 1266376 ? Ssl May28 23:30 clashd.amavisd -c /etc/clamd.d/amavisd.conf --pid /var/run/clamd.amavisd/clamd.pid
amavis 13019 3.1 3.2 393740 132492 ? Ss 18:00 0:00 /usr/sbin/amavisd (chính chủ)
amavis 13032 0,0 3,2 394964 129264 ? S 18:00 0:00 /usr/sbin/amavisd (đứa trẻ còn trinh)
amavis 13033 0,0 3,2 394964 129264 ? S 18:00 0:00 /usr/sbin/amavisd (đứa trẻ còn trinh)

Máy chủ thư đang chạy tốt và có thể kết nối trực tiếp với Amavisd theo cách thủ công:

$ điện thoại cục bộ cục bộ 10024
Đang thử 127.0.0.1...
Đã kết nối với máy chủ cục bộ.
Ký tự thoát là '^]'.
220 [127.0.0.1] ESMTP amavisd-dịch vụ mới đã sẵn sàng

Đây là quá trình duy nhất chạy trên cổng 10024

netstat -tulpn |grep 10024
tcp 0 0 127.0.0.1:10024 0.0.0.0:* NGHE 13019/amavisd (cột 
tcp 0 0 ::1:10024 :::* NGHE 13019/amavisd (cột 

Dừng dịch vụ và xóa PID, khóa tệp, v.v. không thực hiện được mẹo. ví dụ. các bước sau dẫn đến kết quả tương tự như trên. Tương tự với việc xóa các tệp đang chạy và khởi động lại.

$ dịch vụ dừng amavisd
Tắt amavisd: Daemon [3046] bị chấm dứt bởi SIGTERM
                                                           [  VÂNG  ]
$ dịch vụ tình trạng amavisd
amavisd bị dừng

$ rm /var/run/amavisd/*
$ rm /var/lock/subsys/amavisd

$ dịch vụ amavisd bắt đầu
Bắt đầu amavisd: [ OK ]

$ dịch vụ tình trạng amavisd
amavisd chết nhưng subsys bị khóa

Tệp init.d cho Amavis có phần sau để kiểm tra trạng thái

  trạng thái)
        trạng thái ${prog_base}
        RETVAL=$?
        ;;

Tôi có nên xem xét viết lại điều này? hoặc vấn đề có thể nằm ở nơi khác?

Tại sao nó nghĩ rằng nó đã chết khi rõ ràng nó đang chạy?

và tôi nghĩ rằng nó không báo cáo đúng tên quy trình:

$ mèo /var/run/amavisd/amavisd.pid 
24073
$ ps -p 24073 -o comm=
/usr/sbin/amavi

Trong khi các quy trình khác được báo cáo là:
$ ps -p 3145 -o comm=
php-fpm
$ ps -p 3202 -o comm=
httpd
dandan avatar
lá cờ in
À, một cái nữa "dịch vụ amavisd bắt đầu Đang khởi động amavisd: Trình nền amavisd đã chạy, PID: [6309]" nhưng trạng thái cho biết nó đã chết
Nikita Kipriyanov avatar
lá cờ za
Như tôi đã đề cập, đây là một vấn đề với trình quản lý dịch vụ, bạn sẽ không quản lý để hiển thị tệp `amavisd.service` của mình chứ? Ngoài ra, vui lòng hiển thị các phiên bản chính xác của phần mềm mà bạn đang chạy (`amavis`, `systemd`, bản phát hành Linux). Trên thực tế, tôi nghi ngờ lỗi trong tệp định nghĩa dịch vụ, không tính đến tên quy trình thực tế không chỉ là `amavisd` mà còn là `amavisd (master)`.
dandan avatar
lá cờ in
Đó là Amazon Linux AMI 2018.03, amavisd-new.noarch 2.9.1-3.el6 và upstart-0.6.5-13.3.13.amzn1.x86_64 dành cho trình quản lý dịch vụ. @NikitaKipriyanov bạn có cần tập lệnh init.d đầy đủ không?
Nikita Kipriyanov avatar
lá cờ za
Xin lỗi, tôi không biết cách làm việc với Upstart. Bạn có thẻ "centos" và CentOS sử dụng systemd. Vui lòng thêm thông tin phiên bản và phát hành hệ thống chính xác của bạn vào câu hỏi để không ai bị nhầm lẫn nữa.
dandan avatar
lá cờ in
xin lỗi, tôi đã tin rằng Amazon Linux 1 tương đương với Centos 6. Dù sao cũng cảm ơn vì giải pháp!
yagmoth555 avatar
lá cờ cn
@NikitaKipriyanov Nhận xét của bạn dường như đã giúp giải quyết vấn đề, như được thấy bên dưới, tôi sẽ viết nó dưới dạng câu trả lời. (vì vậy nó có thể được nâng cấp/chấp nhận)
Nikita Kipriyanov avatar
lá cờ za
Tôi quá lười biếng, đã có câu trả lời đúng có thể (và nên) được chấp nhận.
Điểm:0
lá cờ in

nikita kipriyanov's comment pointed to solution.

Editing the init.d script to check for "amavisd (master)" process name.

eg. status "amavisd (master)" instead of ${prog_base} which resolves to amavisd

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.