2017-12-11 7 views
0

Problem ist, wenn ich ein Skript wie laufen:Wie Python-Skript für immer EC2 ausführen?

python scripy.py 

Dann, wenn ich den Anschluss der Prozess in der Nähe getötet wird.

Wie Skript für immer unter Ubuntu 16.04.3 LTS ausführen?

Ich habe einen Dienst in /etc/init/publisher.conf wie folgt erstellt:

description "Publisher" 
author "[email protected]" 

start on runlevel [2345] 
stop on runlevel [!2345] 

env AN_ENVIRONMENTAL_VARIABLE=i-want-to-set 

respawn 

exec /var/www/__init__.py 

Wenn ich diesen Dienst auszuführen versucht:

service publisher start 

ich einen Fehler:

Failed to start publisher.service: Unit publisher.service not found.

Warum?

+1

Wenn es Ihnen nichts ausmacht, andere lib zu installieren, ist [pm2] (https://github.com/Unitech/pm2) ein benutzerfreundliches Prozessmanagement-Tool. FYI. –

+0

Es verwendet Node.js, ich möchte das mit OS tun – Alice

Antwort

1

Eine Möglichkeit wäre, den Befehl 'screen' zu verwenden, um eine abtrennbare Sitzung zu starten (Bildschirm apt-get install, wenn Sie ihn nicht haben). 'screen' erzeugt etwas, das wie ein normales Terminal aussieht, aber du kannst es von ihm lösen (Strg + a, dann d denke ich, ist die Beschwörungsformel). Sie können sich dann abmelden und alles, was Sie in der Bildschirmsitzung gestartet haben, läuft weiter.

Bei Ihrer späteren Rückkehr können Sie screen --reattach eingeben (ich denke, Sie müssen die man-Seite lesen), um zu der Sitzung zurückzukehren, die Sie zuvor verlassen haben.

Verwandte Themen