GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit automatické spuštění skriptu Python pomocí Systemd

Otázka – Jak automaticky spustit skript Pythonu pomocí systemd. Jak vytvořit vlastní službu systemd pomocí skriptu Python. Jak nakonfigurovat skript Python, aby se spouštěl jako systemd. Jak spravovat službu Python pomocí systemctl?

Tento návod použijte ke spuštění skriptu Python jako systémové služby pod systemd. Skript můžete snadno spustit, zastavit nebo restartovat pomocí příkazu systemctl. To také umožní automatické spouštění skriptu Python při startu systému.

Krok 1 – Falešná aplikace Pythonu

Nejprve jsem použil fiktivní skript Python, který naslouchá na zadaném portu. Upravte soubor Python následovně

sudo vi /usr/bin/dummy_service.py

a přidejte následující obsah pro figurínu, můžete použít svůj vlastní skript Python podle požadavků.

Python
123456789101112 #!/usr/bin/python3 import sockets =socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind(("localhost", 9988))s.listen(1) while Pravda:conn, addr =s.accept() data =conn.recv(1024) conn.close() my_function_that_handles_data(data)

Krok 2 – Vytvořte soubor služby

Nyní vytvořte servisní soubor pro systemd následovně. Soubor musí mít .service rozšíření pod /lib/systemd/system/ adresář

sudo vi /lib/systemd/system/dummy.service

a přidejte do něj následující obsah. Změňte umístění reklamy v názvu souboru skriptu Python. Aktualizujte také popis.

[Unit]
Description=Dummy Service
After=multi-user.target
[email protected]

[Service]
Type=simple
ExecStart=/usr/bin/python3 /usr/bin/dummy_service.py
StandardInput=tty-force

[Install]
WantedBy=multi-user.target

Krok 3 – Povolte nově přidanou službu

Vaše systémová služba byla přidána do vaší služby. Znovu načtěte démona systemctl, aby si mohl přečíst nový soubor. Po každém provedení změn v souboru .service musíte tohoto démona znovu načíst.

sudo systemctl daemon-reload

Nyní povolte spuštění služby při spouštění systému a také spusťte službu pomocí následujících příkazů.

sudo systemctl enable dummy.service
sudo systemctl start dummy.service

Krok 4 – Start/Start/Status new Service

Nakonec zkontrolujte stav vaší služby podle následujícího příkazu.

sudo systemctl status dummy.service

Pomocí níže uvedených příkazů můžete zastavit, spustit a restartovat servisní příručku.

sudo systemctl stop dummy.service          #To stop running service 
sudo systemctl start dummy.service         #To start running service 
sudo systemctl restart dummy.service       #To restart running service 

Linux
  1. Jak vytvořit službu Systemd v Linuxu

  2. Jak stahovat soubory ze serveru SFTP pomocí skriptu python

  3. Jak napsat spouštěcí skript pro Systemd?

  1. Linux – umístění skriptu Fsck?

  2. Jak trasovat Python skripty pomocí trace.py

  3. Jak zajistit, aby skript Python běžel jako služba nebo démon v Linuxu

  1. Spravujte spouštění pomocí systemd

  2. Jak spustit skript s systemd těsně před vypnutím?

  3. Jak odeslat e-mail, pokud je služba systemd restartována?