वहाँ एक systemd सेवा इकाई फ़ाइल में पर्यावरण चर को गतिशील रूप से असाइन करने का एक तरीका है?
हमारे पास एक मशीन है जिसमें 4 जीपीयू हैं, और हम प्रति जीपीयू की एक निश्चित सेवा के कई उदाहरणों को स्पिन करना चाहते हैं। उदाहरण के लिए:
- 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
- घृणा उत्पन्न करने तक
तो 1: 1, 2: 1, आदि प्रभावी रूप से सेवा इकाई फ़ाइल में% i हैं।
सेवा को किसी विशेष GPU से बांधने के लिए, सेवा निष्पादन योग्य एक निश्चित वातावरण चर की जाँच करता है, जैसे:
USE_GPU=4
क्या कोई तरीका है जो मैं सेवा इकाई फ़ाइल के अंदर% i ले सकता हूं और GPU नंबर प्राप्त करने के लिए इसे कुछ (शेल) फ़ंक्शन के माध्यम से चला सकता हूं, और फिर मैं तदनुसार USE_GPU पर्यावरण चर सेट कर सकता हूं?
सबसे महत्वपूर्ण बात यह है कि मैं एक से अधिक /etc/systemd/system/gpu_service@x:y.service/local.conf
फाइलें लिखने की झंझट नहीं चाहता, इसलिए मैं अधिक उदाहरणों को लिख सकता हूं।