it-swarm.com.de

Wird das Startskript am 17.04 ausgeführt?

Ich habe 17.04 (Zesty Zapus) ausgeführt und versucht, ein Startskript zu starten, aber festgestellt, dass es nicht ausgeführt wird. Dann bemerkte ich, dass upstart nicht einmal als installiertes Paket aufgeführt ist, selbst wenn es in /etc/init viele Skripte gibt. Anscheinend werden sie nicht ausgeführt, da die Einführung eines Tippfehlers in beispielsweise cron den Start nicht beeinflusst.

Wie soll ich das Upstart-Skript ausführen? Installieren Sie upstart oder führen Sie es durch eine Systemd-Schicht aus? Bricht die Installation von upstart etwas, wenn die anderen Skripte in /etc/init plötzlich ausgeführt werden?

1

Die obigen Schritte haben wunderbar funktioniert, ich habe einige detaillierte Schritte in meiner Antwort hier gemacht:

Mein env ist wie folgt

  1. Ubuntu am 17.10
  2. Ich habe eine python -Anwendung auf dem Gunicorn 19.x-Server. Ich muss diese Anwendung als Dienst starten.

Zuerst müssen Sie eine foo.service-Datei schreiben.

[Unit] 
Description=FooServer 

[Service] 
Restart=on-failure
WorkingDirectory=/path/to/your/working/directory/where the foo lives
ExecStart=/what/process/will call foo eg: in my case I used gunicorn app:app
ExecReload=/bin/kill -HUP $MAINPID 
KillSignal=SIGINT 

[Install] 
WantedBy=multi-user.target

Die Bedeutung jedes Wortes auf der linken Seite des Zeichens '=' und die Entsprechung zu (dem früheren) Upstart finden Sie unter link https://wiki.ubuntu.com/SystemdForUpstartUsers

Wenn die Datei fertig ist, können Sie sie als "foo.service" bezeichnen (die Erweiterung ".service" ist wichtig).

Sie müssen die Datei in /lib/systemd/system platzieren.

Danach müssen Sie den Dienst durch Aufrufen aktivieren

systemctl enable foo

Hier werden Sie aufgefordert, Ihr Root-Passwort einzugeben, da Symlinks in einigen Root-basierten Ordnern erstellt werden, in denen alle Dienstanbieter vertreten sind.

Wenn Sie ohne Probleme bis hierher gekommen sind, sind Sie gut. Ihr Dienst wird somit erstellt. Starten Sie es mit einem Anruf

Sudo service foo start

systemctl status foo, um den Status Sudo service foo stop anzuzeigen und den Dienst zu beenden

Ich war heute den ganzen Tag auf der Gunicorn-Seite und habe all die verschiedenen Optionen ausprobiert und keine von ihnen hat funktioniert und schließlich hat diese funktioniert. Vielen Dank an Zanna und Nicklas Karlsson

1
siddharthrc

Anscheinend ist Upstart nicht in der Serverversion OOTB enthalten, obwohl es Skripte in /etc/init gibt (etwas verwirrend).

Ich habe das Upstart-Skript als systemd-Unit-Datei umgeschrieben und dabei hauptsächlich die Ubuntu-Wiki-Seite auf systemd für Upstart-Benutzer als Anleitung verwendet und es auf normale Weise aktiviert.

1