Que daemon de inicialização inicia os cups?

1

Eu tenho uma nova instalação do Ubuntu 14.04 e não toquei em nada.

Cups está sendo executado, conforme relatado por ps e netstat .

Existem /etc/init/cups.conf e /etc/init.d/cups , ambos parecem capazes de começar com xícaras.

Eu usei estas maneiras para determinar qual daemon do init iniciou cups:

  • service cups status - "trabalho desconhecido: xícaras"
  • initctl status cups - "trabalho desconhecido: xícaras"
  • /etc/init.d/cups status - "cupsd está em execução"
  • O nível de execução é 2 e não há xícaras em /etc/rc2.d

Então a pergunta é: qual daemon do init iniciou os cups? O tradicional Debian init ou upstart?

Se upstart foi o único cups, por que initctl status cups não pode relatar o status dos cups?

    
por Howard 08.08.2014 / 14:50

2 respostas

-1

Dos dois, apenas um é realmente um script de inicialização: /etc/init.d/cups . O arquivo /etc/init/cups.conf parece ser um arquivo de configuração e executa certas coisas antes / depois que o daemon é iniciado, mas não é um script de inicialização. Falta o formato adequado (iniciar, parar, reiniciar funções etc.) e, em qualquer caso, não está no lugar certo. Os scripts de inicialização estão no diretório init.d .

Quanto a quem começou, o 14.04 ainda está usando o upstart, eles serão mudando para o systemd para lançamentos futuros. Então foi novato que começou o daemon cups.

Agora, quanto ao motivo pelo qual nem service nem initctl retornou algo útil, isso é porque você não usou sudo :

terdon@16:~$ service cups status
status: Unknown job: cups
terdon@16:~$ sudo service cups status
[sudo] password for terdon: 
cups start/running, process 1319

terdon@16:~$  initctl status cups 
initctl: Unknown job: cups
terdon@16:~$ sudo initctl status cups 
cups start/running, process 1319
    
por terdon 08.08.2014 / 15:02
1

O CUPS no Ubuntu é iniciado pelo Upstart através do arquivo /etc/init/cups.conf. O arquivo /etc/init.d/cups é ignorado. O /etc/init/cups.conf não é um script de inicialização, mas uma configuração para o Upstart. Ele inicia o daemon principal e não é apenas uma pré e pós-configuração para o CUPS.

Os utilitários service e initctl relatam um trabalho desconhecido quando a variável UPSTART_SESSION é definida no ambiente porque, nesse caso, os dois utilitários estão agindo no init da sessão e não no init do sistema (cups é iniciado pelo init do sistema). su geralmente preserva o ambiente, enquanto sudo não, então sudo initctl status cups funcionará, mas su -c "initctl status cups" não.

    
por CameronNemo 09.08.2014 / 00:38