Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
Supervisor ist ein Client / Server-System, mit dem eine Reihe von UNIX-Prozessen gesteuert werden, insbesondere Prozesse, die sich auf ein Projekt oder einen Kunden beziehen. Sie können beispielsweise Supervisor verwenden, um eine beliebige Anzahl von Worker-Warteschlangen Ihrer Webanwendung zu erzeugen und zu überwachen.
Die Komponenten dieses Systems sind:
In diesem Tutorial werden wir die aktuellste Version von Supervisor installieren, zeigen, wie Programme erzeugt und verwaltet werden supervisorctl
, und eine Weboberfläche zum Verwalten unserer Programme konfigurieren.
Wir werden Supervisor über installieren easy_install
, eine Funktion der Setuptools von Python.
Aktualisieren Sie zuerst Ihre lokale Paketliste und installieren Sie dann Python setuptools
.
sudo apt-get update && sudo apt-get install python-setuptools
Jetzt können wir Supervisor installieren.
sudo easy_install supervisor
Sobald die Installation abgeschlossen ist, müssen wir unsere Konfigurationsdatei generieren. Erstellen Sie einen Ordner mit dem Namen supervisor
inside /etc
.
sudo mkdir /etc/supervisor
Führen Sie dann Folgendes aus.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
Wenn Sie nicht mit dem root
Benutzer angemeldet sind , wird möglicherweise eine Permission denied
Fehlermeldung angezeigt (auch mit sudo
). Dies liegt an der Umleitung. Um dies zu überwinden, melden Sie sich als root an.
sudo su
Dann können Sie den Befehl erneut ausführen.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
Sie können den root
Benutzer jetzt mit dem exit
Befehl verlassen. Der echo_supervisord_conf
Befehl wurde von unserer Supervisor-Installation bereitgestellt.
Öffnen Sie die /etc/supervisor/supervisord.conf
Datei und überprüfen Sie ihren Inhalt. Sie werden feststellen, dass diese Konfigurationsdatei der INI
Syntax folgt und durch Abschnitte unterteilt ist (dargestellt in Klammern wie in [section-name]
).
Um Programme hinzuzufügen, die vom Supervisor verwaltet werden sollen, müssen nur die entsprechenden [program]
Abschnitte erstellt werden. Um jedoch zu vermeiden, dass die Hauptkonfigurationsdatei jedes Mal durcheinander gebracht wird, wenn ein Programm hinzugefügt (oder geändert) werden muss, verwenden wir den [include]
Abschnitt. Suchen Sie diesen Abschnitt, kommentieren Sie ihn aus und bearbeiten Sie ihn wie folgt.
[include]
files=conf.d/*.conf
Jetzt erstellen wir für jedes Programm, das wir hinzufügen möchten, eine .ini
Datei im /etc/supervisor/conf.d/
Verzeichnis. Erstellen wir diesen Ordner.
sudo mkdir /etc/supervisor/conf.d
Wie bereits erwähnt, besteht der Supervisor aus einem Server und Clients, die eine Verbindung zu ihm herstellen. Um Programme verwalten und steuern zu können, müssen wir den Server starten. Zu diesem Zweck registrieren wir den Supervisor-Server in systemd
, damit der Server beim Systemstart gestartet werden kann.
Erstellen Sie dazu eine Datei, die supervisord.service
im /etc/systemd/system
Verzeichnis aufgerufen wird .
sudo touch /etc/systemd/system/supervisord.service
Fügen Sie der Datei den folgenden Inhalt hinzu.
[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target
[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
Alias=supervisord.service
Aktivieren Sie den Supervisord-Service.
sudo systemctl start supervisord.service
Solange sich die Servicedatei im /etc/systemd/system
Verzeichnis befindet, wird sie beim Systemstart automatisch gestartet.
Sie können den Status des Dienstes überprüfen.
systemctl status supervisord.service
Sie können auch die Protokolle auschecken.
sudo journalctl -u supervisord.service
Die vom Supervisor gesteuerten Programme werden in verschiedenen [program]
Abschnitten der Konfiguration angegeben. Für jedes Programm, das wir verwalten möchten, erstellen wir eine eigenständige Konfigurationsdatei, die den ausführbaren Pfad des Befehls sowie alle Umgebungsvariablen und die Vorgehensweise im Falle eines Herunterfahrens informiert.
Lassen Sie uns zunächst ein einfaches Skript erstellen, das einen Zeitstempel protokolliert. Erstellen Sie eine Datei mit dem Namen hello_supervisor.sh
(wo immer Sie möchten, verweisen wir auf den vollständigen Pfad dieses Skripts).
touch hello_supervisor.sh
Fügen Sie nun den folgenden Inhalt ein
#!/bin/bash
while true
do
# Echo current timestamp to stdout
echo Hello Supervisor: `date`
# Echo 'error!' to stderr
echo An error ocurred at `date`! >&2
sleep 1
done
Machen Sie es jetzt ausführbar
chmod +x hello_supervisor.sh
In der Praxis ist dieses Skript so gut wie nutzlos. Wir können es jedoch verwenden, um die Macht des Vorgesetzten zu demonstrieren. Erstellen Sie die entsprechende Konfigurationsdatei, indem Sie Folgendes ausführen.
sudo touch /etc/supervisor/conf.d/hello_supervisor.conf
Fügen Sie nun den folgenden Inhalt in diese Datei ein.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
Hinweis: Achten Sie darauf, durch USER
Ihren Benutzernamen zu ersetzen .
Wir werden diese Konfiguration Schritt für Schritt überprüfen.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
Zunächst beginnt die Konfiguration mit der Definition eines Programms mit dem Namen hello_supervisor . Außerdem wird der vollständige Pfad der auszuführenden ausführbaren Datei angezeigt.
autostart=true
Diese Zeile gibt an, dass dieses Programm automatisch gestartet werden soll, wenn der Supervisor gestartet wird.
autorestart=true
Wenn das Programm aus irgendeinem Grund beendet wird, weist diese Zeile den Supervisor an, den Prozess automatisch neu zu starten.
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
Diese Linien definieren die Logdatei Position für stderr
und stdout
, respectively.
Nachdem wir den Supervisor installiert und konfiguriert haben, können wir unsere Prozesse verwalten.
Nach dem Hinzufügen eines neuen Programms sollten wir die folgenden zwei Befehle ausführen, um den Server zu informieren, die Konfigurationsdateien erneut zu lesen und alle Änderungen zu übernehmen.
sudo supervisorctl reread
sudo supervisorctl update
Führen Sie nun den supervisorctl
Client aus.
sudo supervisorctl
Sie werden mit einer Liste der registrierten Prozesse begrüßt. Sie sehen einen Prozess hello_supervisor
mit einem RUNNING
Status.
hello_supervisor RUNNING pid 6853, uptime 0:22:30
supervisor>
Geben Sie help
für eine Liste von avaialable Befehle.
supervisor> help
default commands (type help <topic>):
=====================================
add exit open reload restart start tail
avail fg pid remove shutdown status update
clear maintail quit reread signal stop version
Auf den Punkt gebracht, können wir start
, stop
und restart
Programme , die von den Programmnamen als Argument für den jeweiligen Befehl übergeben.
supervisor> stop hello_supervisor
hello_supervisor: stopped
supervisor> start hello_supervisor
hello_supervisor: started
supervisor> restart hello_supervisor
hello_supervisor: stopped
hello_supervisor: started
supervisor>
Wir können uns auch die Programmausgabe mit dem tail
Befehl ansehen .
supervisor> tail hello_supervisor
Hello Supervisor: Mon Sep 25 19:27:29 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:30 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:31 UTC 2017
Für die stderr
Ausgabe können Sie auch verwenden tail
.
supervisor> tail hello_supervisor stderr
An error ocurred at Mon Sep 25 19:31:12 UTC 2017!
An error ocurred at Mon Sep 25 19:31:13 UTC 2017!
An error ocurred at Mon Sep 25 19:31:14 UTC 2017!
Durch Aufrufen des status
Befehls können Sie den Status aller registrierten Programme anzeigen.
Sobald Sie fertig sind, können Sie beenden.
supervisor> quit
Um den Zugriff auf den Supervisord-Webserver zu ermöglichen, öffnen Sie die Supervisord-Konfigurationsdatei und suchen Sie den [inet_http_server]
Abschnitt.
nano /etc/supervisor/supervisord.conf
Aktualisieren Sie nun die Konfiguration dieses Abschnitts wie folgt.
[inet_http_server]
port=*:9001
username=your_username
password=your_password
Ersetzen your_username
und your_password
mit den gewünschten Anmeldeinformationen, speichern Sie Ihre Änderungen und den Neustart supervisord Service.
sudo systemctl restart supervisord.service
Denken Sie daran, den TCP
Zugriff auf den Port 9001
Ihrer Firewall zuzulassen und dann http://{server-ip}:9001
über Ihren Browser darauf zuzugreifen . Wenn Sie dazu aufgefordert werden, geben Sie Ihr username
und an password
. Sie können jetzt Ihre Prozesse über das Web steuern.
Wir haben die aktuellste Version von Supervisord installiert, gelernt, wie man sie für den automatischen Systemstart mit systemd konfiguriert, und eine grundlegende Verwendung von überprüft supervisorctl
. Weitere Informationen zur Konfiguration und zu Anwendungsfällen finden Sie in der offiziellen Supervisord-Dokumentation .
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.
Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+
Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.
Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren
13 Tools zur kommerziellen Datenextraktion von Big Data
Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true
Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.
Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1
KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.