답변:
빠른 답변은 init
시스템에 따라 다릅니다 .
긴 대답은 다음과 같습니다. 현재 Ubuntu 버전의 경우 Upstart 및 SystemV 가 혼합되어 있습니다. 15.04 "Vivid Vervet"(및 RHEL / CentOS 7과 같은 다른 Linux 배포판) 이후의 최신 버전의 Ubuntu는 SystemD 를 사용 하려고 합니다.
모든 서비스를 나열하려면
initctl list
모든 Upstart 서비스를 나열하고 실행하려면 initctl show-config
이 단일 라이너가 도움이 될 수 있습니다.
initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config
모든 서비스를 나열하려면
service --status-all
또는:
# for init scripts:
ls /etc/init.d/
# for runlevel symlinks:
ls /etc/rc*.d/
모든 서비스를 나열하려면
systemctl list-unit-files --type=service
또는:
ls /lib/systemd/system/*.service /etc/systemd/system/*.service
service --status-all
적어도 우분투 16에서는 부팅하지 않고 서비스를 시작할 수 있는지 여부는 표시하지 않습니다 . 현재 서비스가 실행 중인지 여부를 표시합니다 .
sudo service --status-all
얻는 모든 표시하는 서비스입니다. service --status-all
루트가 아닌 계정 에서만 실행했을 때 일부가 숨겨졌습니다 .
systemctl
, service
, initctl
그들은 일반적으로 시스템 관리 명령 간주됩니다로 ...).
/etc/init.d
및 /etc/rc.*
디렉토리는 '로 대체 한 upstart
'init을 도구. 이 디렉토리의 스크립트는 예상대로 실행되지만 init에서 실행하는 새로운 방법은/etc/init/
dbus를 통해 upstart를 쿼리하여 모든 upstart 작업을 나열 할 수 있습니다.
dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
/com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs
사용 0_6
중인 시작 버전을 반영 하도록 변경해야 할 수도 있습니다. 이 명령은 내 lucid 설치에서 작동합니다.
initctl list
이 dbus 명령보다 훨씬 좋습니다 . 그래도이 답변을 참조 용으로 남겨두고 싶습니다 (완전히 삭제하는 것이 아니라).
initctl show-config <servicename>
부팅하는 동안 서비스가 언제 시작되는지에 대한 세부 정보를 얻는 데 사용 됩니다.
이렇게 :
$ initctl show-config myservice
myservice
start on runlevel [2345]
stop on runlevel [!2345]
또는 NFS4 idmap-daemon의 경우 :
$ initctl show-config idmapd
idmapd
start on (local-filesystems or mounting TYPE=nfs4)
stop on runlevel [06]
chkconfig는 RedHat 기반 시스템 imho에서만 선호됩니다.
12.04에서 다음을 사용할 수 있습니다.
sudo apt-get install chkconfig
chkconfig --list
샘플 출력 :
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
Ubuntu 18.04의 경우 다음을 사용하십시오.
systemctl list-units --type=service
대신에 :
initctl
우분투 16.04에서 initctl
로 대체되었습니다 systemd
.
https://www.linuxtricks.fr/wiki/systemd-les-commandes-essentielles (FR_fr)
(@ sanjay-manohar 도움이된다면)
gawk 사용하기 :
ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}'
샘플 출력 :
$ ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}' | egrep README
README 0,1,2,3,4,5,6,S