Apakah ada cara untuk secara dinamis menetapkan variabel lingkungan dalam file unit layanan systemd?
Kami memiliki mesin yang memiliki 4 GPU, dan kami ingin menambah beberapa instance layanan tertentu per GPU. Misalnya:
- gpu_service @ 1: 1.service
- gpu_service @ 2: 1.service
- gpu_service @ 3: 1.service
- gpu_service @ 4: 1.service
- gpu_service @ 1: 2.service
- gpu_service @ 2: 2.service
- gpu_service @ 3: 2.service
- gpu_service @ 4: 2.service
- ad mual
Jadi 1: 1, 2: 1, dll. Secara efektif adalah% i dalam file unit layanan.
Agar layanan dapat mengikat GPU tertentu, layanan yang dapat dieksekusi memeriksa variabel lingkungan tertentu, misalnya:
USE_GPU=4
Apakah ada cara saya dapat mengambil% i di dalam file unit layanan dan menjalankannya melalui beberapa fungsi (shell) untuk mendapatkan nomor GPU, dan kemudian saya dapat mengatur variabel lingkungan USE_GPU sesuai?
Yang paling penting, saya tidak ingin repot menulis banyak /etc/systemd/system/gpu_service@x:y.service/local.conf
file hanya supaya saya dapat memutar lebih banyak instance.