Hướng dẫn how do i stop mongodb from running in the background? - Làm cách nào để ngăn mongodb chạy trong nền?

Tôi đã theo dõi tài liệu MongoDB chính thức để dừng lại với tín hiệu. Một trong các lệnh sau đây có thể được sử dụng (PID đại diện cho

kill -2 PID
8 của quy trình
kill -2 PID
9):

kill PID

gửi tín hiệu 15 (sigterm) hoặc

kill -2 PID

trong đó gửi tín hiệu 2 (sigint).

Cảnh báo từ tài liệu MongoDB: Không bao giờ sử dụng

pkill mongod
0 (tức là Sigkill) để chấm dứt một ví dụ
kill -2 PID
9.
Never use
pkill mongod
0 (i.e. SIGKILL) to terminate a
kill -2 PID
9 instance.

Nếu bạn có nhiều hơn một phiên bản chạy hoặc bạn không quan tâm đến PID, bạn có thể sử dụng

pkill mongod
2 để gửi tín hiệu đến tất cả các quy trình đang chạy
kill -2 PID
9:

pkill mongod

hoặc

pkill -2 mongod

Hoặc, an toàn hơn nhiều, chỉ với các quy trình thuộc về bạn:

pkill -U $USER mongod

hoặc

pkill -2 -U $USER mongod

Hoặc, an toàn hơn nhiều, chỉ với các quy trình thuộc về bạn:

sudo pkill mongod
sudo pkill -2 mongod

Lưu ý: Nếu DB đang chạy như một người dùng khác, nhưng bạn có quyền hành chính, bạn đã gọi các lệnh trên với pkill mongod 4, để chạy chúng. Ví dụ.:

PS

Error parsing command line: unrecognised option '--shutdown'

Lưu ý: Tôi đã sử dụng tín hiệu vì pkill mongod 5, mặc dù được đề cập trong tài liệu MongoDB hiện tại, không hoạt động trên máy của tôi (MacOS, MongoDB V3.4.10, được cài đặt với pkill mongod 6):

Cập nhật 2022-05-10

Trong khi đó, tùy chọn pkill mongod 7 được đánh dấu trong tài liệu là "pkill mongod 8".

PPS

brew services stop mongodb

(MacOS cụ thể) Trước khi có ai tự hỏi: Không, tôi không thể dừng nó bằng lệnh

brew services start mongodb

bởi vì tôi đã không bắt đầu nó với

MongoDB chạy như một chương trình tiêu chuẩn. Bạn có thể bắt đầu MongoDB từ một dòng lệnh bằng cách ban hành lệnh

kill -2 PID
9 và chỉ định các tùy chọn. Để biết danh sách các tùy chọn, xem tham chiếu
kill -2 PID
9. MongoDB cũng có thể chạy như một dịch vụ Windows. Để biết chi tiết, hãy xem Start MongoDB Community Edition dưới dạng dịch vụ Windows. Để cài đặt MongoDB, xem Cài đặt MongoDB.

Các ví dụ sau đây giả định thư mục chứa quy trình

kill -2 PID
9 nằm trong đường dẫn hệ thống của bạn. Quá trình
kill -2 PID
9 là quy trình cơ sở dữ liệu chính chạy trên một máy chủ riêng lẻ.
pkill -2 mongod
4 cung cấp giao diện MongoDB mạch lạc tương đương với
kill -2 PID
9 từ quan điểm của khách hàng. Nhị phân
pkill -2 mongod
6 cung cấp vỏ hành chính.
pkill -2 mongod
6
binary provides the administrative shell.

Tài liệu này thảo luận về quá trình

kill -2 PID
9; Tuy nhiên, một số phần của tài liệu này có thể được áp dụng cho các trường hợp
pkill -2 mongod
4.

Theo mặc định, MongoDB lắng nghe các kết nối từ máy khách trên cổng

pkill -2 mongod
9 và lưu trữ dữ liệu trong thư mục
pkill -U $USER mongod
0.

Trên Windows, con đường này nằm trên ổ đĩa mà bạn bắt đầu MongoDB. Ví dụ: nếu bạn không chỉ định

pkill -U $USER mongod
1, hãy khởi động máy chủ MongoDB trên ổ đĩa
pkill -U $USER mongod
2 lưu trữ tất cả các tệp dữ liệu trong
pkill -U $USER mongod
3.

Để bắt đầu MongoDB bằng tất cả các mặc định, hãy đưa ra lệnh sau tại shell hệ thống:

Nếu bạn muốn

kill -2 PID
9 lưu trữ các tệp dữ liệu tại một đường dẫn khác với
pkill -U $USER mongod
0, bạn có thể chỉ định
pkill -U $USER mongod
6.
pkill -U $USER mongod
6 phải tồn tại trước khi bạn bắt đầu
kill -2 PID
9. Nếu nó không tồn tại, hãy tạo thư mục và các quyền để
kill -2 PID
9 có thể đọc và ghi dữ liệu vào đường dẫn này. Để biết thêm thông tin về quyền, hãy xem tài liệu hoạt động bảo mật.

Để chỉ định

pkill -U $USER mongod
6 cho
kill -2 PID
9 để sử dụng làm thư mục dữ liệu, hãy sử dụng tùy chọn
pkill -U $USER mongod
1. Nhu cầu sau đây sẽ bắt đầu một ví dụ
kill -2 PID
9 và lưu trữ dữ liệu trong đường dẫn
pkill -2 -U $USER mongod
4

kill -2 PID
0

Chỉ có một quy trình duy nhất có thể lắng nghe các kết nối trên giao diện mạng tại một thời điểm. Nếu bạn chạy nhiều quy trình

kill -2 PID
9 trên một máy hoặc có các quy trình khác phải sử dụng cổng này, bạn phải gán cho mỗi một cổng khác nhau để nghe các kết nối máy khách.

Để chỉ định một cổng thành

kill -2 PID
9, hãy sử dụng tùy chọn
pkill -2 -U $USER mongod
7 trên dòng lệnh. Lệnh sau bắt đầu
kill -2 PID
9 Nghe trên cổng
pkill -2 -U $USER mongod
9:

Sử dụng số cổng mặc định khi có thể, để tránh nhầm lẫn.

Để chạy quy trình

kill -2 PID
9 dưới dạng daemon (nghĩa là
sudo pkill mongod
sudo pkill -2 mongod
1) và ghi đầu ra của nó vào tệp nhật ký, sử dụng các tùy chọn
sudo pkill mongod
sudo pkill -2 mongod
2 và
sudo pkill mongod
sudo pkill -2 mongod
3. Bạn phải tạo thư mục nhật ký; Tuy nhiên,
kill -2 PID
9 sẽ tạo tệp nhật ký nếu nó không tồn tại.

Lệnh sau bắt đầu

kill -2 PID
9 dưới dạng daemon và ghi lại đầu ra đăng nhập vào
sudo pkill mongod
sudo pkill -2 mongod
6.

kill -2 PID
1

Để biết tổng quan về các cấu hình và triển khai phổ biến cho các trường hợp sử dụng phổ biến, hãy xem cấu hình cơ sở dữ liệu thời gian chạy.

Trong lần tắt sạch,

kill -2 PID
9 hoàn thành tất cả các hoạt động đang chờ xử lý, xóa tất cả dữ liệu vào các tệp dữ liệu và đóng tất cả các tệp dữ liệu. Tắt máy khác là ô uế và có thể thỏa hiệp tính hợp lệ của các tệp dữ liệu.

Để đảm bảo tắt máy sạch, luôn luôn tắt máy

kill -2 PID
9 bằng một trong các phương pháp sau:

Tắt

kill -2 PID
9 từ
pkill -2 mongod
6 bằng phương pháp
Error parsing command line: unrecognised option '--shutdown'
1 như sau:
pkill -2 mongod
6
using the
Error parsing command line: unrecognised option '--shutdown'
1 method as follows:

kill -2 PID
2

Gọi cùng một phương thức từ tập lệnh init thực hiện kết quả tương tự.

Đối với các hệ thống có kích hoạt

Error parsing command line: unrecognised option '--shutdown'
2, người dùng chỉ có thể phát hành
Error parsing command line: unrecognised option '--shutdown'
1 khi được xác thực vào cơ sở dữ liệu
Error parsing command line: unrecognised option '--shutdown'
4 hoặc thông qua giao diện localhost trên các hệ thống mà không được bật xác thực.

Chỉ được hỗ trợ trên Linux. Từ dòng lệnh, hãy tắt

kill -2 PID
9 bằng tùy chọn
pkill mongod
7:

Khi chạy thể hiện

kill -2 PID
9 ở chế độ tương tác (nghĩa là không có
sudo pkill mongod
sudo pkill -2 mongod
2), vấn đề
Error parsing command line: unrecognised option '--shutdown'
9 để thực hiện tắt máy sạch.

Chỉ được hỗ trợ trên Linux và MacOS. Từ dòng lệnh, hãy tắt một phiên bản

kill -2 PID
9 cụ thể bằng cách sử dụng một trong các lệnh sau:

kill -2 PID
3

Bắt đầu từ MongoDB 4.0.8 (và 3.6.15), nếu một bản sao đặt chính nhận được

brew services stop mongodb
1, thì các nỗ lực chính để từ chức trước khi tắt.

  • Nếu bước xuống thành công, trường hợp không bỏ phiếu trong cuộc bầu cử chính của chính mới và tiếp tục tắt máy.

  • Nếu bước xuống thất bại, trường hợp tiếp tục tắt máy.

Cảnh báo

Không bao giờ sử dụng

pkill mongod
0 (tức là
brew services stop mongodb
3) để chấm dứt một thể hiện Mongod.

Bắt đầu từ MongoDB 4.4 Chạy trên Linux:

  • Khi các quy trình

    kill -2 PID
    
    9 và
    pkill -2 mongod
    
    4 nhận được tín hiệu
    brew services stop mongodb
    
    6, chi tiết ngược lại được thêm vào nhật ký cho mỗi luồng quy trình.

  • Chi tiết backtrace Hiển thị các yêu cầu chức năng cho quy trình, có thể được sử dụng để chẩn đoán và cung cấp cho hỗ trợ MongoDB nếu được yêu cầu.

Chức năng Backtrace có sẵn cho các kiến ​​trúc này:

  • brew services stop mongodb
    
    7

  • brew services stop mongodb
    
    8 (bắt đầu từ MongoDB 4.4.15, 5.0.10 và 6.0)

Để phát hành tín hiệu

brew services stop mongodb
6 cho quy trình đang chạy
kill -2 PID
9, hãy sử dụng lệnh sau:

kill -2 PID
4

Dữ liệu ngược kết quả được ghi vào logfile

kill -2 PID
9 như được cấu hình với
sudo pkill mongod
sudo pkill -2 mongod
3

Nếu

kill -2 PID
9 là chính trong một bộ bản sao, quá trình tắt máy cho phiên bản
kill -2 PID
9 này có các bước sau:

  1. Kiểm tra xem các thứ hai được cập nhật như thế nào.

  2. Nếu không có thứ cấp nào trong vòng 10 giây của chính,

    kill -2 PID
    
    9 sẽ trả về một thông báo rằng nó sẽ không tắt. Bạn có thể chuyển lệnh
    brew services start mongodb
    
    6 một đối số
    brew services start mongodb
    
    7 để chờ thứ cấp bắt kịp.

  3. Nếu có thứ cấp trong vòng 10 giây của chính, chính sẽ từ chức và chờ thứ cấp bắt kịp.

  4. Sau 60 giây hoặc một khi thứ cấp đã bắt kịp, chính sẽ ngừng hoạt động.

Nếu không có thứ cấp cập nhật và bạn muốn bản chính bị tắt, hãy đưa ra lệnh

brew services start mongodb
6 với đối số
brew services start mongodb
9, như trong hoạt động
pkill -2 mongod
6 sau:
pkill -2 mongod
6
operation:

kill -2 PID
5

Để tiếp tục kiểm tra các thứ hai trong một số giây được chỉ định nếu không có ai được cập nhật ngay lập tức, vấn đề

brew services start mongodb
6 với đối số
brew services start mongodb
7. MongoDB sẽ tiếp tục kiểm tra các thứ hai cho số giây được chỉ định nếu không có ai được cập nhật ngay lập tức. Nếu bất kỳ thứ hai nào bắt kịp trong thời gian quy định, chính sẽ tắt. Nếu không có thứ hai bắt kịp, nó sẽ không tắt.

Các vấn đề lệnh sau

brew services start mongodb
6 với
brew services start mongodb
7 được đặt thành
kill -2 PID
05:

kill -2 PID
6

Thay thế bạn có thể sử dụng đối số

brew services start mongodb
7 với phương thức
Error parsing command line: unrecognised option '--shutdown'
1:

kill -2 PID
7