GNU/Linux >> Belajar Linux >  >> Linux

Cara membuat layanan Systemd di Linux

Kadang-kadang Anda membuat skrip dan kemudian Anda ingin skrip tersebut dikendalikan oleh systemd atau dalam beberapa kasus Anda ingin skrip dimulai ulang dengan sendirinya ketika dimatikan karena beberapa alasan.

Sistem di Linux membantu mengonfigurasi layanan yang dapat dikelola.

Dalam artikel ini, Kami akan menunjukkan cara membuat layanan systemd.

Buat layanan systemd

Secara umum

Cukup ikuti langkah-langkah di bawah ini:

  • Anda dapat menemukan menjalankan layanan linux di bawah jalur /etc/systemd/system
cd /etc/systemd/system
  • Buat file bernama [servicename.service] dan tambahkan yang berikut
[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

CATATAN :Ganti Bold nilai di atas dengan nilai layanan baru yang ingin Anda buat.

Unit layanan adalah file dengan .service sufiks berisi informasi tentang proses yang dikelola oleh systemd . Ini terdiri dari tiga bagian utama:

  • [Satuan] :bagian ini berisi informasi yang tidak secara khusus terkait dengan jenis unit, seperti deskripsi layanan
  • [Layanan] :berisi informasi tentang jenis unit tertentu, layanan dalam hal ini
  • [Pasang] :Bagian ini berisi informasi tentang pemasangan unit

Untuk proyek khusus Python yang menyertakan lingkungan virtual

  • Ikuti langkah yang sama di atas tetapi tambahkan yang berikut
[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

ATAU

[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
  • Setelah Anda selesai memuat ulang file layanan untuk menyertakan layanan baru.
sudo systemctl daemon-reload
  • Mulai layanan baru Anda
    sudo systemctl start [your_new_service].service
  • Periksa status layanan baru Anda, mis. (layanan baru saya bernama unixcop.service)
    sudo systemctl status unixcop.service
  • Aktifkan layanan Anda di setiap reboot
    sudo systemctl enable unixcop.service
  • Untuk menonaktifkan layanan Anda setiap kali reboot
    sudo systemctl disable unixcop.service

Kesimpulan

Itu dia

Kami mengilustrasikan cara membuat layanan systemd baru di Linux

Terima kasih!!


Linux
  1. Cara Mengelola Layanan Systemd dengan Systemctl di Linux

  2. Cara membuat paket RPM Linux

  3. Cara Mendaftar Layanan Systemd di Linux

  1. Cara Membuat Swap di Linux

  2. Cara membuat file swap di Linux

  3. Menambahkan layanan baru ke sistem Linuxd

  1. Cara Membuat Script Perintah Linux

  2. Linux – Bagaimana Mendapatkan Lebih Sedikit Ttys Dengan Systemd?

  3. Bagaimana menghentikan layanan systemd