Czy istnieje sposób dynamicznego przypisywania zmiennych środowiskowych w pliku systemowej jednostki usługowej?
Mamy maszynę, która ma 4 procesory graficzne i chcemy rozdzielić wiele wystąpień pewnej usługi na GPU. Na przykład:
- gpu_service @ 1: 1. usługa
- gpu_service @ 2: 1. usługa
- gpu_service @ 3: 1. usługa
- gpu_service @ 4: 1. usługa
- gpu_service @ 1: 2.service
- gpu_service @ 2: 2.service
- gpu_service @ 3: 2.service
- gpu_service @ 4: 2.service
- do znudzenia
Zatem 1: 1, 2: 1 itd. Są faktycznie% i w pliku jednostki usługowej.
Aby usługa mogła się połączyć z określonym GPU, plik wykonywalny usługi sprawdza określoną zmienną środowiskową, np .:
USE_GPU=4
Czy istnieje sposób, aby pobrać% i do pliku jednostki usługowej i uruchomić go przez jakąś funkcję (powłoki) w celu uzyskania numeru GPU, a następnie odpowiednio ustawić zmienną środowiskową USE_GPU?
Co najważniejsze, nie chcę kłopotów z pisaniem wielu /etc/systemd/system/gpu_service@x:y.service/local.conf
plików tylko po to, aby móc rozpędzić więcej instancji.