Por que scripts que começam com um 'S' existem em /etc/rc.d/rc{0,6}.d?

6

Por que os scripts que começam com um 'S' existem em /etc/rc.d/rc{0,6}.d ? Haverá problemas se eu mudar o 'S' para 'K'?

O comportamento do sistema é alterado quando ele é interrompido / reinicializado?

    
por TheoYou 10.07.2011 / 13:14

2 respostas

11

Sim, o estilo init tradicional do sistema V (o que é isso) faz links simbólicos que começam com S, ou K. aqueles com S significa "start", e eles são executados com o parâmetro "start" quando esse runlevel é digitado. Aqueles com K significa "kill", esses serviços são executados com o parâmetro "stop" quando esse runlevel é inserido. Isso faz com que os diferentes níveis de execução tenham conjuntos diferentes de serviços em execução. Se você conseguir um de S para K, o servidor não será iniciado, então será parado. Isso pode ou não ser um problema, dependendo se foi ou não um serviço crítico.

BTW, este método está sendo obsoleto por novos sistemas de inicialização baseados em dependência em novas distribuições Linux.

    
por 10.07.2011 / 14:19
0

A melhor resposta que encontrei em outro site é que o K e o S são ignorados nos níveis de execução 0 e 6, pois o sistema simplesmente executará todos esses scripts com o comando stop na ordem alfanumérica. Então, S ou K nem importa.

Eu posso provar isso em uma instalação padrão do Ubuntu, onde tenho exemplos como os seguintes:

K20rssrv K20zfs-mount K20zfs-share

S31umountnfs.sh S40umountfs S60umountroot S90halt

Os exemplos K possuem comandos stop dentro desses scripts. Os scripts também especificam os níveis de execução padrão quando os comandos de início e parada serão executados, como mostra o início padrão nos níveis de execução 2,3,4,5 e a parada padrão em 0,1,6

    
por 20.08.2014 / 13:33

Tags