Perché la scheda dei nomi dei processi di upstart personalizzata non è stata completata nel comando di servizio?

16

Sono abituato a creare servizi upstart con un file in /etc/init/<service>.conf e funziona perfettamente, l'unica cosa che mi piacerebbe è avere il completamento della tabulazione allo stesso modo di ogni servizio in /etc/init.d / ho adesso.

Durante la scrittura del servizio sudo xx dovrebbe apparire il nome del servizio.

C'è un modo per aggiungere servizi upstart a quell'elenco di completamento automatico?

    
posta José F. Romaniello 01.07.2013 - 16:08

1 risposta

25

Ogni pacchetto che fornisce un demone standard che utilizza upstart è necessario per fornire un collegamento simbolico in /etc/init.d dalla politica Debian. Quindi il completamento automatico per sudo service name funziona già. Assicurati di aver installato il pacchetto bash-completion in caso di problemi.

Se si stanno creando i propri processi di upstart, quindi symlink /etc/init.d/your_job a /lib/init/upstart-job come gli altri lavori di upstart stanno già facendo. Questo renderà i tuoi lavori lavorare allo stesso modo.

Ci sono speciali lavori di upstart in /etc/init che non hanno una voce corrispondente in /etc/init.d . Queste sono un'eccezione. Dalla politica di Debian:

  

Un'eccezione a questa regola è rappresentata dagli script o dai lavori forniti dall'implementazione stessa; tali lavori possono essere richiesti per un equivalente specifico dell'implementazione degli script /etc/rcS.d/ e potrebbero non avere una corrispondenza uno-a-uno con gli script di init.

Queste eccezioni al momento non funzionano con bash-completion . Tuttavia, puoi utilizzare start , stop , restart e reload direttamente senza service , e il completamento automatico funzionerà. Ad esempio, sudo start shut esegue correttamente il completamento automatico. Ma normalmente non è necessario chiamare direttamente i lavori di upstart che non hanno una voce init.d corrispondente.

Nota: l'ho provato su Saucy. Se il supporto non appare in una versione precedente, forse non è disponibile lì (ma lo avrai presto quando esegui l'aggiornamento a una versione sufficientemente nuova).

    
risposta data Robie Basak 01.07.2013 - 16:20

Leggi altre domande sui tag