Tôi sử dụng bộ lập lịch (trình lên lịch Rufus) để khởi chạy một quá trình có tên là "ar_sendmail" (từ ARmailer), mỗi phút.Làm cách nào để kiểm tra quá trình đang chạy với Ruby?
Quy trình KHÔNG được khởi chạy khi đã có quá trình chạy như vậy để không ăn hết bộ nhớ.
Làm cách nào để kiểm tra xem liệu quá trình này có đang chạy không? Điều gì xảy ra sau unless
bên dưới?
scheduler = Rufus::Scheduler.start_new
scheduler.every '1m' do
unless #[what goes here?]
fork { exec "ar_sendmail -o" }
Process.wait
end
end
end
Cảm ơn! 1 câu hỏi trở lại: Tại sao các dấu ngoặc xung quanh "l" của "ar_sendmail"? – TomDogg
nó để loại bỏ quá trình gọi từ grep cho một quá trình phù hợp với ar_sendmail - nếu không bạn sẽ nhận được kết quả cho 'grep ar_sendmail' – stef
Muchas gracias, señor! – TomDogg