Giảm thời gian chờ tắt máy cho một công việc dừng đang chạy


16

Tôi đã cài đặt node.js và pm2 trên Pi (Raspbian). PM2 được cấu hình để bắt đầu thông qua pm2 startupvà các tập lệnh init mà nó tạo ra. Đôi khi khi tôi khởi động lại, tắt máy trong vài phút:

A stop job is running for LSB: PM2 init script (... / 5min)

Thỉnh thoảng 1 điều tôi cho là PM2 không tắt đúng cách và treo trong 5 phút.

Trên hệ thống này, tôi biết chính xác ứng dụng PM2 đang quản lý và tôi thực sự không quan tâm nếu chúng tắt máy đúng cách.

Câu hỏi của tôi là: Làm thế nào để tôi giảm thời gian chờ từ 5 phút xuống còn 15 giây? Cái này được cấu hình ở đâu?

Tôi đã đọc trên một diễn đàn rằng đó là DefaultTimeoutStopSecchìa khóa trong /etc/systemd/system.conf , vì vậy tôi đã thử đặt nó thành "15s" nhưng nó không có hiệu lực. Tôi cũng đã thử điều tương tự trong /etc/systemd/user.conf , nhưng không thay đổi. Thời gian chờ vẫn được đặt thành 5 phút.


1 Tôi thực sự biết cụ thể những gì kích hoạt điều này, nhưng các chi tiết không quan trọng và hiệu quả là không thể tránh khỏi.


1
Nếu có một stoptập lệnh (mặc định) , bạn có thể viết lại nó để thực hiện forcestophoặc thậm chí để giết pm2thay vì tắt máy duyên dáng.
Kích hoạt

@Tigger Tôi đã đi đến một kết luận tương tự, thực sự. Vì tuyệt vọng, tôi chỉ thực hiện stoptrong init script của pm2 mà không làm gì cả, và để nó tự nhiên chết khi tắt máy. Đó là một giải pháp khủng khiếp cho sử dụng chung nhưng trên hệ thống cụ thể này thì không sao. Tôi vẫn muốn biết làm thế nào để thay đổi thời gian chờ 5 phút.
Jason C

Câu trả lời:


8

Làm cách nào để giảm thời gian chờ từ 5 phút xuống còn 15 giây?

Bạn xây dựng lại systemd từ nguồn, vá thời gian chờ cứngsystemv-sysv-generator từ TimeoutSec=5minbất cứ thứ gì bạn muốn. Hoặc bạn yêu cầu những người có hệ thống cho một nút điều khiển ở đâu đó trong các tiêu đề Fedora / SUSE hoặc LSB.

Hoặc, trên bàn tay nắm bắt, bạn từ bỏ việc sử dụng rctập lệnh này mà bạn có và viết một đơn vị dịch vụ systemd cho dịch vụ của bạn, bạn có thể đặt thời gian chờ với TimeoutSec=cài đặt rõ ràng , được cài đặt với tệp cài đặt thả xuống /etc/systemd/system/pm2.service.d/timeout.confnếu cần.

Với điều này , điều này , điều này , điều này , điều này và những điều khác, quy tắc đầu tiên để di chuyển sang systemd cũng áp dụng ở đây.

đọc thêm


15

/etc/systemd/system.conf có một dòng

#DefaultTimeoutStopSec=90s

có thể không bị thay đổi và thay đổi


Tôi đã đề cập rằng trong bài viết của tôi và việc thay đổi nó không có hiệu lực.
Jason C

thiết lập 45 giây trong Arch Linux giúp tắt máy nhanh chóng trên một nvmeổ đĩa - để tắt máy thực sự nhanh chóng, hãy sử dụng Alpine Linux (không systemd)
Stuart Cardall
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.