Tôi đang tìm cách để có được danh sách tất cả các dịch vụ (/etc/init.d hoặc upstart hoặc systemd), được cho là bắt đầu (hoặc đã bắt đầu lúc) khởi động.
Làm thế nào để bạn có được một danh sách tất cả các dịch vụ bắt đầu? - Tôi biết câu hỏi đó, và nó gợi ý sử dụng service --status-all
.
Nhưng điều đó không cho tôi thấy, dịch vụ nào được CUNG CẤP ĐỂ CHẠY . Nó gọi tất cả các tập lệnh init với status
đối số "". Đây là danh sách tất cả các dịch vụ có thể đang chạy.
Nhưng tôi muốn biết, nếu một dịch vụ, đã được khởi động lúc boot vẫn đang chạy.
Thí dụ…
Tôi đã cài đặt webfs. Nhưng tôi không muốn nó chạy khi khởi động. Vì vậy, tôi đã vô hiệu hóa nó : sudo update-rc.d webfs disable
. Và tôi cũng đã cài đặt samba và nó sẽ chạy khi khởi động. Nhưng nó đã dừng lại (vì bất cứ lý do gì). sudo service --status-all
không giúp tôi ở đây:
$ sudo service --status-all 2>/dev/null | grep -E 'samba$|webfs'
[ - ] samba
[ - ] webfs
Cả hai đều tắt nhưng tôi không có manh mối, rằng một (samba) được cho là sẽ được bật.
Vì thế…
Làm thế nào tôi có thể nhận được một danh sách tất cả các dịch vụ bắt đầu khi khởi động? Và, như một phần mở rộng, có một cách dễ dàng để có được "trạng thái" của các dịch vụ này (nếu không, tôi chỉ đơn giản lặp lại danh sách này và chạy "dịch vụ $ status status", hoặc đại loại như thế này).
Cảm ơn, Alexander
Chỉnh sửa 2015-05-04: Tôi đang dùng Ubuntu 14.04.
Trọng tâm chính của câu hỏi này là:
Nhưng tôi muốn biết, nếu một dịch vụ, đã được khởi động lúc boot vẫn đang chạy.
Bởi vì điều này, initctl list
không giúp được gì nhiều. Nó không thực sự xem xét các dịch vụ được bắt đầu bởi /etc/init.d
các tập lệnh (so với các tập lệnh mới bắt đầu /etc/init
).
Ngoài ra một danh sách /etc/rc?.d/S*
không giúp đỡ. Nó sẽ tạo ra một danh sách các dịch vụ, có thể đã được bắt đầu trong một runlevel nhất định. Nó không cho tôi thấy, nếu một dịch vụ, đã được bắt đầu, vẫn đang chạy.
Về cơ bản, tôi đang tìm kiếm một cái gì đó giống như svcs -x
từ Solaris cho Ubuntu. Với svcs -x
, tôi sẽ có đầu ra nếu một dịch vụ, được bắt đầu, không chạy nữa. Điều này, tôi cũng cần cho Ubuntu.
Lý do: Tôi muốn có một kiểm tra chung (ít nhiều ...) cho hệ thống giám sát Icinga / Nagios của chúng tôi, điều này sẽ cảnh báo tôi, nếu một dịch vụ không chạy nữa thì nên chạy. Vì chúng tôi có nhiều máy chủ khác nhau cho nhiều khách hàng khác nhau, nên thực sự không có quy mô để xác định danh sách các dịch vụ "quan trọng".
initctl list
đó là liệt kê các quy trình được bắt đầu / chạy, nhưng danh sách đó cũng sẽ bao gồm các quy trình được bắt đầu thủ công
initctl list
. Nhưng điều đó không thực sự trả lời nó, vì nó cũng sẽ hiển thị các dịch vụ bắt đầu bằng tay. Và nó không hiển thị các dịch vụ không chạy.