it-swarm-vi.com

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

Có một lệnh để liệt kê các dịch vụ chạy khi khởi động không? Tôi tưởng tượng nó sẽ liên quan đến việc phân tích cú pháp /etc/init.d/ và các thư mục /etc/rc.* khác nhau.

142
Eric H

Bạn chỉ có thể sử dụng lệnh initctl list Shell để liệt kê nội dung của /etc/init thay vì lệnh dbus-send được đề xuất.

104
Scott

Câu trả lời nhanh là: Nó phụ thuộc vào hệ thống init của bạn.

Câu trả lời dài là: Đối với các phiên bản hiện tại của Ubuntu, bạn có thể có một kết hợp pstartSystemV . Các phiên bản mới hơn của Ubuntu sau 15.04 "Verv Vervet" (và các bản phân phối Linux khác như RHEL/CentOS 7) đang chuyển sang sử dụng SystemD .

Mới bắt đầu

Để liệt kê tất cả các dịch vụ:

initctl list

Để liệt kê tất cả các dịch vụ Upstart và chạy initctl show-config trên chúng, phần mềm này có thể hữu ích:

initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config

Hệ thống V

Để liệt kê tất cả các dịch vụ:

service --status-all

HOẶC LÀ:

# for init scripts:
ls /etc/init.d/

# for runlevel symlinks:
ls /etc/rc*.d/

Hệ thống

Để liệt kê tất cả các dịch vụ:

systemctl list-unit-files --type=service

HOẶC LÀ:

ls /lib/systemd/system/*.service /etc/systemd/system/*.service
117
TrinitronX

Các thư mục /etc/init.d/etc/rc.* đã được thay thế bởi công cụ init 'upstart'. Mặc dù các tập lệnh trong các thư mục này sẽ được thực thi như mong đợi, phương thức mới để chạy mọi thứ trên init được xác định bởi các tệp trong /etc/init/

Bạn có thể liệt kê tất cả các công việc mới bắt đầu bằng cách truy vấn mới bắt đầu qua dbus:

dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
        /com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs

Bạn có thể phải thay đổi 0_6 để phản ánh phiên bản mới bắt đầu mà bạn có. Lệnh này hoạt động trên cài đặt sáng suốt của tôi.

13
Jeremy Kerr

Nếu bạn muốn một đại diện đồ họa đẹp cho các dịch vụ và thời gian cần thiết để khởi động hãy thử:

apt-get install bootchart
12
john

Id sử dụng initctl show-config <servicename> để thực sự biết chi tiết về thời điểm/nếu dịch vụ của bạn sẽ bắt đầu trong khi khởi động.

Thích như vậy:

$ initctl show-config myservice
myservice
  start on runlevel [2345]
  stop on runlevel [!2345]

Hoặc cho NFS4 idmap-daemon:

$ initctl show-config idmapd
idmapd
  start on (local-filesystems or mounting TYPE=nfs4)
  stop on runlevel [06]

chkconfig chỉ được ưu tiên trên các hệ thống dựa trên RedHat.

11
CBmemnon

Vào ngày 12.04, chúng tôi có thể sử dụng:

Sudo apt-get install chkconfig
chkconfig --list

nhưng đó là đã xóa trong 12.1 .

Đầu ra mẫu:

acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on

Bên cạnh các dịch vụ hệ thống và tập lệnh theo:

/etc/init.d/
[.__.] /lib/systemd/system/
[.__.] /etc/systemd/system/

Có lẽ Ứng dụng AutoStart cũng vậy, ví dụ:

find / -name "*autostart*"

ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart"  "/usr/share/gnome/autostart"
0
Noam Manos