Como descobrir qual gerenciador de serviços está instalado no meu sistema operacional Linux?

1

Eu sei que a minha instalação do Linux vem com uma das implementações do gerenciador de serviços. Pode ser Systemd, Upstart ou qualquer um dos outros.

Então, minha pergunta é como posso descobrir qual delas está instalada no meu sistema Linux?

Obrigado.

UPDATE

Aqui estão alguns comandos ps / grep do meu sistema procurando por systemd e upstart, e suas saídas:

$ ps aux | grep systemd
root       341  0.0  0.0  52244  3836 ?        Ss   15:54   0:00 /lib/systemd/systemd-udevd --daemon
root       588  0.0  0.0  43452  3200 ?        Ss   15:54   0:00 /lib/systemd/systemd-logind
root      1889  0.0  0.0  17520  1840 ?        S    15:54   0:00 /lib/systemd/systemd-localed
user123      2348  0.0  0.0  15948  2236 pts/1    S+   15:56   0:00 grep --color=auto systemd
$ ps aux | grep upstart
root       329  0.0  0.0  19744  2308 ?        S    15:54   0:00 upstart-udev-bridge --daemon
root       763  0.0  0.0  15808  2168 ?        S    15:54   0:00 upstart-file-bridge --daemon
root       770  0.0  0.0  15528  1984 ?        S    15:54   0:00 upstart-socket-bridge --daemon
user123      1525  0.0  0.0  22304  2336 ?        Ss   15:54   0:00 upstart-event-bridge
user123      1553  0.0  0.0  22368  1828 ?        S    15:54   0:00 upstart-dbus-bridge --daemon --session --user --bus-name session
user123      1560  0.0  0.0  30784   280 ?        S    15:54   0:00 upstart-file-bridge --daemon --user
user123      1562  0.0  0.0  22312   216 ?        S    15:54   0:00 upstart-dbus-bridge --daemon --system --user --bus-name system
user123      2350  0.0  0.0  15948  2280 pts/1    S+   15:56   0:00 grep --color=auto upstart
    
por hebbo 16.02.2017 / 07:20

1 resposta

3

A maneira mais fácil é descobrir qual sistema operacional e o que é executado por padrão. Os sistemas init não são triviais para mudar.

Em um sistema completamente desconhecido eu sugiro usar o uso de uma mistura de ps e grep para verificar processos comuns relacionados a cada sistema init e ver ..

Eu não tenho um sistema que use o sistema de script de inicialização 'clássico', então não tenho como verificar.

Em um moderno fedora ou ubuntu box - você pode usar ps aux | grep systemd , que deve emitir linhas como usr/lib/systemd/systemd . Também armazena arquivos de configuração em etc/systemd/

Você também usaria systemctl para lidar com serviços

Em um sistema baseado em upstart você pode fazer ps aux | grep upstart e encontrar alguns processos relacionados a novos usuários.

Upstart usa o comando de serviço e armazena arquivos de configuração em / etc / init / como um arquivo init clássico. Ele usa seu próprio formato, salvo como arquivos .conf - embora alguns deles sejam arquivos init clássicos.

Você costuma usar scripts init de estilo sysv ao lado de scripts mais modernos, mas eu não tenho nenhum sistema usando apenas isso para verificá-los. Se você está escrevendo um script de inicialização para um sistema desconhecido, esta é tipicamente uma aposta segura, embora você perca as coisas brilhantes que os sistemas init mais novos adicionam.

    
por 16.02.2017 / 08:20