16.04 Lệnh liệt kê tất cả các dịch vụ bắt đầu khi khởi động


21

Tôi đã cài đặt mongodb v3.4. Điều này bắt đầu khi khởi động.

Vì vậy, tôi tự hỏi, làm thế nào để tôi tìm hiểu những gì đang bắt đầu này (và làm thế nào để vô hiệu hóa nó bắt đầu khi khởi động)?

Những điều sau đây không hoạt động:

Làm cách nào tôi có thể ngăn mongodb bắt đầu khởi động hệ thống (cũ)

Lệnh liệt kê các dịch vụ bắt đầu khi khởi động? (cũ)


3
service --status-allliệt kê tất cả các dịch vụ. Bạn có thể tham khảo điều này
Vishnu NK

Câu trả lời:


46

Theo như tôi bây giờ, các dịch vụ được kích hoạt tự động trong Ubuntu, vì vậy khi bạn cài đặt một cái gì đó giống như Apachenó sẽ được khởi động khi khởi động.

Tìm một số thông tin

Để tìm hiểu tất cả các dịch vụ đã được chạy khi khởi động:

systemctl list-units --type service

điều này sẽ hiển thị tất cả các dịch vụ đã được tải khi khởi động và hiện đang hoạt động. Nếu bạn muốn nhận danh sách tất cả các dịch vụ cho dù chúng có hoạt động hay không:

systemctl list-units --type service --all

Một điều khác bạn có thể làm là chạy:

systemctl list-dependencies --type service

sau đó nhấn /và tìm kiếm để mongodbxem những gì service/ targetphụ thuộc vào nó và chạy nó.

Ngoài ra, bạn có thể chạy:

locate mongodb.service

Mà tạo ra một cái gì đó như:

/lib/systemd/system/multi-user.target.wants/mongodb.service

sau đó bạn sẽ biết rằng nó đang được bắt đầu như là một phần của mục tiêu nhiều người dùng, thay thế cho điều này là:

$ systemctl cat mongodb.service | grep -i wantedby
WantedBy=multi-user.target

Vô hiệu hóa nó

Để biết rằng nếu nó hoạt động (Sẽ được chạy khi khởi động / thời gian khởi động):

systemctl is-active mongodb

Đó là activehoặc inactive; Trong trường hợp của bạn nó nên được active.

Để ngăn chặn nó bắt đầu khi khởi động, chúng ta nên vô hiệu hóa nó:

sudo systemctl disable mongodb

Và để đảm bảo không có gì khác (Không có dịch vụ nào khác) có thể khởi động nó, chúng tôi che dấu nó:

systemctl mask mongodb

vì vậy nó sẽ được liên kết đến /dev/nullvà không thể bắt đầu tự động hoặc thủ công nữa.

Tôi không biết mongodbtên dịch vụ, hãy thử nhấn vào tab nó sẽ được hoàn thành. Tôi đoán đó là mongodb;)


systemctl list-units --type servicesẽ không hiển thị dịch vụ người dùng. Tự hỏi có cách nào để hiển thị all = system và tất cả các dịch vụ của người dùng không?
EdiD

sudo update-rc.d mongodb vô hiệu hóa
CRTLBREAK

8

Để biết liệu một dịch vụ có được bật khi khởi động hay không, lệnh bên phải là:

systemctl is-enabled apache2
enabled

Bạn có thể tự mình thử bằng cách thay đổi trạng thái với

systemctl enable apache2
systemctl disable apache2

(đây không phải là câu trả lời)


0

Ngoài ra, hãy xem Cài đặt -> Phiên và Khởi động -> Tự động khởi động ứng dụng để xem ứng dụng của bạn có được đề cập ở đó không.

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.