GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Warum wird die Registerkarte „Benutzerdefinierte Upstart-Jobnamen“ im Dienstbefehl nicht abgeschlossen?

Ich bin es gewohnt, Upstart-Dienste mit einer Datei in /etc/init/<service>.conf zu erstellen und es funktioniert einwandfrei, das einzige, was ich gerne hätte, ist die Tab-Vervollständigung auf die gleiche Weise, wie sie jeder Dienst in /etc/init.d/ derzeit hat.

Beim Schreiben von sudo service xx sollte der Name des Dienstes erscheinen.

Gibt es eine Möglichkeit, Upstart-Dienste zu dieser Autovervollständigungsliste hinzuzufügen?

Akzeptierte Antwort:

Jedes Paket, das einen Standard-Daemon mit Upstart bereitstellt, muss einen Symlink in /etc/init.d bereitstellen durch die Debian-Richtlinie. Also Autovervollständigung für sudo service name funktioniert schon. Stellen Sie sicher, dass Sie die bash-completion haben Paket installiert, wenn Sie Probleme haben.

Wenn Sie Ihre eigenen Upstart-Jobs erstellen, verlinken Sie /etc/init.d/your_job nach /lib/init/upstart-job wie es die anderen Emporkömmlinge bereits tun. Dadurch funktionieren Ihre eigenen Jobs genauso.

Es gibt spezielle Upstart-Jobs in /etc/init die keinen entsprechenden Eintrag in /etc/init.d haben . Diese sind eine Ausnahme. Aus der Debian-Richtlinie:

Eine Ausnahme von dieser Regel sind Skripte oder Jobs, die von der Init-Implementierung selbst bereitgestellt werden; Solche Jobs können für ein implementierungsspezifisches Äquivalent der /etc/rcS.d/-Skripte erforderlich sein und haben möglicherweise keine Eins-zu-eins-Entsprechung mit den Init-Skripten.

Diese Ausnahmen funktionieren derzeit nicht mit bash-completion . Sie können jedoch start verwenden , stop , restart und reload direkt ohne service , und die automatische Vervollständigung funktioniert. Beispiel:sudo start shut korrekt automatisch vervollständigt. Aber Sie sollten normalerweise keine Upstart-Jobs direkt aufrufen müssen, die keine entsprechende init.d haben Eintrag.

Hinweis:Ich habe dies an Saucy getestet. Wenn die Unterstützung in einer älteren Version nicht angezeigt wird, ist sie dort möglicherweise nicht verfügbar (aber Sie erhalten sie bald, wenn Sie auf eine ausreichend neue Version aktualisieren).


Ubuntu
  1. Wie führe ich "date" innerhalb eines Cron-Tab-Jobs aus?

  2. Wie findet die automatische Vervollständigung von Registerkarten Optionen zum Vervollständigen?

  3. Warum tötet der folgende Befehl ein System?

  4. Beste Möglichkeit, alle Slurm-Jobs von der Shell-Befehlsausgabe abzubrechen?

  5. Warum hat der Befehl „:(){ :|:&};:“ das System so verzögert, dass ich neu starten musste?

Der Linux-Befehl pwd

So verwenden Sie Linux auf Befehl

Der Shutdown-Befehl?

Warum wird „Boot-Repair“ zweimal in der Ubuntu-Dokumentation aufgeführt?

Finden Sie die Befehlszeile?

So verwenden Sie den Jobs-Befehl unter Linux