Я пытался упростить процесс перезапуска своих установок для майнинга эфира, чтобы мне не приходилось настраивать терминал и вручную синхронизировать каждый графический процессор.
Я написал скрипт для запуска в systemd. Текст файлов .sh и .service будет ниже.
.sh состоит из двух частей. Первый тактирует каждую из девяти карт, а второй запускает приложение для майнинга.
При запуске первая часть скрипта не запускается, но запускается вторая часть для инициализации майнинга.
Когда я запускаю .sh напрямую, обе части работают правильно; мощность установлена и майнинг запущен. Когда я запускаю команду запуска в .service непосредственно в Терминале, выполняется то же неполное выполнение, что и при запуске при загрузке.
Услуга включена. Пути к файлам указаны верно.Разрешения на запуск строк sudo даны.
Я прочитал почти все источники, которые смог найти, и я и мой партнер зашли в тупик относительно того, в чем здесь несоответствие.
Что в скрипте нужно изменить, чтобы это заработало?
Ниже приведены .sh и .service:
start.sh
#!/бин/ш
sudo nvidia-smi -i 0 -pl 70
sudo nvidia-smi -i 1 -pl 70
sudo nvidia-smi -i 2 -pl 70
sudo nvidia-smi -i 3 -pl 70
sudo nvidia-smi -i 4 -pl 70
sudo nvidia-smi -i 5 -pl 70
sudo nvidia-smi -i 6 -pl 70
sudo nvidia-smi -i 7 -pl 70
sudo nvidia-smi -i 8 -pl 70
#!/бин/ш
/home/rigf/Desktop/mine/t-rex-0.22.1-linux/t-rex -a ethash -o stratum+tcp://stratum-eth.antpool.com:8008 -u 0xE19e9BC0d9D9C178E51BC8C04F788cDF6a123a36 -p x -w RigF
rigstart.service
[Ед. изм]
Description=Rig загрузочный протокол
[Оказание услуг]
Тип=простой
ExecStart=/home/rigf/Desktop/mine/t-rex-0.22.1-linux/start.sh
[Установить]
WantedBy=многопользовательская.цель
Это делается в Ubuntu 20.04.3.