2013-01-18 29 views
13

Có cách nào để kiểm tra xem một PID tùy ý có đang chạy hoặc đang hoạt động trên hệ thống không, sử dụng Node.js? Giả sử rằng tập lệnh Node.js có các quyền thích hợp để đọc /proc hoặc tương đương với Windows.Làm cách nào để kiểm tra xem một PID tùy ý có đang chạy bằng Node.js không?

Điều này có thể được thực hiện hoặc đồng bộ:

if (isAlive(pid)) { //do stuff } 

Hoặc không đồng bộ:

getProcessStatus(pid, function(status) { 
    if (status === "alive") { //do stuff } 
} 

Lưu ý rằng tôi hy vọng để tìm một giải pháp cho điều này làm việc với một hệ thống độc đoán PID, không chỉ là PID của quy trình Node.js đang chạy.

Trả lời

17

Tôi cũng cần kiểm tra hoạt động của pid trong dự án. Tôi mất this answer của việc sử dụng kill -0 <PID> và bọc nó trong một module gọi là đang chạyhttps://npmjs.org/package/is-running

npm install is-running

+0

+1 Không sinh ra một đứa trẻ để giết chóc. Chỉ là một câu hỏi, tại sao bạn yêu cầu exec module trong 'index.js' của bạn? – hexacyanide

+0

exec còn lại từ một phiên bản trước. Nó sẽ biến mất – Noah

+2

Tính năng này có hoạt động trên Windows không? – Ujeenator

-1

Tôi không phải là chuyên gia ở đây, nhưng bạn có thể không sinh ra một quy trình con để kiểm tra trạng thái bằng công cụ dòng lệnh không?

Các vấn đề liên quan