GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un servizio Systemd in Linux

A volte crei uno script e quindi vuoi che gli script siano controllati da systemd o in alcuni casi desideri che gli script vengano riavviati da soli quando vengono uccisi per qualche motivo.

Sistema in Linux aiuta a configurare i servizi che possono essere gestiti.

In questo articolo, Ti mostreremo come creare un servizio systemd.

Crea servizio systemd

In generale

Segui i passaggi seguenti:

  • Puoi trovare il servizio Linux in esecuzione nel percorso /etc/systemd/system
cd /etc/systemd/system
  • Crea un file denominato [servicename.service] e aggiungi quanto segue
[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

NOTA :sostituisci il grassetto valori sopra con i valori del tuo nuovo servizio che desideri creare.

Un'unità di servizio è un file con .service suffisso contiene informazioni su un processo gestito da systemd . È composto da tre sezioni principali:

  • [Unità] :questa sezione contiene informazioni non specificamente legate alla tipologia dell'unità, come la descrizione del servizio
  • [Servizio] :contiene informazioni sul tipo specifico dell'unità, in questo caso un servizio
  • [Installa] :Questa sezione contiene informazioni sull'installazione dell'unità

Per progetti specifici di Python che includono l'ambiente virtuale

  • Segui gli stessi passaggi precedenti ma aggiungi quanto segue
[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

OPPURE

[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
  • Al termine, ricarica i file del servizio per includere il nuovo servizio.
sudo systemctl daemon-reload
  • Inizia il tuo nuovo servizio
    sudo systemctl start [your_new_service].service
  • Controlla lo stato del tuo nuovo servizio, ad esempio (il mio nuovo servizio chiamato unixcop.service)
    sudo systemctl status unixcop.service
  • Abilita il tuo servizio ad ogni riavvio
    sudo systemctl enable unixcop.service
  • Per disabilitare il tuo servizio a ogni riavvio
    sudo systemctl disable unixcop.service

Conclusione

Questo è tutto

Abbiamo illustrato come creare un nuovo servizio systemd in Linux

Grazie!!


Linux
  1. Come gestire i servizi Systemd con Systemctl su Linux

  2. Come creare uno script di un comando Linux

  3. Aggiunta di un nuovo servizio a Linux systemd

  4. Linux:come ottenere meno Tty con Systemd?

  5. Come elencare i servizi Systemd in Linux

Come creare collegamenti su desktop Linux

Come creare un montaggio da immagini in Linux

Come creare alias SSH in Linux

Come eseguire lo script della shell come servizio Systemd in Linux

Come creare un alias in Linux

Come eseguire lo script della shell come servizio SystemD in Linux