Значения Ulimit не учитываются при запуске скрипта из службы

#python #service #systemd #ulimit

Вопрос:

Я работаю над Raspberry Pi 3B , и для моего проекта мне нужно создать около 1000 потоков. Мне удалось это сделать, уменьшив размер стека до 300, добавив следующую строку в файл /etc/security/limit.conf:

 pi hard stack 300  

Перезагрузка и запуск моего скрипта python3 main.py работают. Но теперь я пытаюсь запустить свой скрипт при запуске со следующим файлом модуля:

 [Unit] Description= Custom Project After=multi-user.target Requires=multi-user.target  [Service] User=pi ExecStart=/usr/bin/python3 -u /home/pi/Documents/main.py StandardOutput=journal console StandardError=journal console  [Install] WantedBy=multi-user.target  

Но затем я вижу ошибку во время выполнения: не удается запустить новые потоки, что является ошибкой, которую я получил, когда стек все еще был на уровне 8000. Однако ulimit -s возвращает правильное значение 300.

Я также получаю такое же поведение при непосредственном выполнении моей службы с:

 sudo systemctl start custom_project.service  

Так что запуск его напрямую с python3 main.py работами, но не через сервис.

Спасибо!