GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit službu Systemd v Linuxu

Občas vytvoříte skript a pak chcete mít skripty řízené systemd nebo v některých případech chcete, aby se skripty samy restartovaly, když je z nějakého důvodu zabit.

Systemd v Linuxu pomáhá konfigurovat služby, které lze spravovat.

V tomto článku Ukážeme vám, jak vytvořit službu systemd.

Vytvoření systémové služby

Obecně

Prostě postupujte podle následujících kroků:

  • Spuštěnou linuxovou službu najdete pod cestou /etc/systemd/system
cd /etc/systemd/system
  • Vytvořte soubor s názvem [servicename.service] a přidejte následující
[Unit]
Description=<description_about_your_service>

[Service]
User=<user_such_as_root>
WorkingDirectory=<directory_of__your_script such as /home/unixcop>
ExecStart=<script_which_needs_to_be_executed>
Restart=always

[Install]
WantedBy=multi-user.target

POZNÁMKA :Nahraďte Tučné hodnoty výše s vašimi hodnotami vaší nové služby, kterou chcete vytvořit.

servisní jednotka je soubor s službou .service přípona obsahuje informace o procesu spravovaném systemd . Skládá se ze tří hlavních částí:

  • [Jednotka] :tato část obsahuje informace, které se konkrétně netýkají typu jednotky, jako je popis služby
  • [Služba] :obsahuje informace o konkrétním typu jednotky, v tomto případě služba
  • [Instalovat] :Tato část obsahuje informace o instalaci jednotky

Pro projekty specifické pro Python, které zahrnují virtuální prostředí

  • Postupujte podle stejných kroků výše, ale přidejte následující
[Unit]
Description=<description_about_your_project>

[Service]
User=<user_such_as_root>
WorkingDirectory=<path/to/your/project/directory/containing/the/python/script>
ExecStart=Path of virtualenv and your script file name

#Example for ExecStart=/home/user/.virtualenv/bin/python main.py
#replace /home/user/.virtualenv/bin/python with your virtualenv and main.py with your script name

Restart=always

[Install]
WantedBy=multi-user.target

NEBO

[Unit]
Description=<description_about_your_project>

[Service]
User=<user_such_as_root>
WorkingDirectory=<path to your project directory>
ExecStart=/bin/bash -c 'cd /home/unixcop/project/ && source venv/bin/activate && python test.py'

#replace /home/unixcop/project/ with your Path, venv/bin/activate with your source and test.py with your script name

[Install]
WantedBy=multi-user.target
  • Po dokončení znovu načtěte soubory služeb, aby zahrnovaly novou službu.
sudo systemctl daemon-reload
  • Spusťte svou novou službu
    sudo systemctl start [your_new_service].service
  • Zkontrolujte stav své nové služby, např. (moje nová služba s názvem unixcop.service)
    sudo systemctl status unixcop.service
  • Povolte službu při každém restartu
    sudo systemctl enable unixcop.service
  • Zakázat službu při každém restartu
    sudo systemctl disable unixcop.service

Závěr

To je ono

Ukázali jsme, jak vytvořit novou službu systemd v Linuxu

Díky!!


Linux
  1. Jak vytvořit skript příkazu Linux

  2. Jak vytvořit odkládací soubor v Linuxu

  3. Linux – jak získat méně Ttys s Systemd?

  1. Jak vytvořit balíček RPM pro Linux

  2. Jak vytvořit swap v Linuxu

  3. Přidání nové služby do Linux systemd

  1. Jak spravovat služby Systemd pomocí Systemctl v systému Linux

  2. Jak vypsat Systemd Services v Linuxu

  3. Jak zastavit službu systemd