O script do Linux não está em execução no arranque

3

Olá e obrigado por ser tão útil. Eu estou tentando executar um script na inicialização que reduz os limites de energia do meu gpus. O comando shell está no init.d e tentei usar o symlink para rc1 e rc3. O comando shell também se tornou executável usando Chmod + x. Estou executando o Ubuntu 16.04 também. Quando eu reinicio o computador, apenas 1 cartão baixa a potência para o nível apropriado, enquanto os outros dois permanecem inalterados. Isso é gpu0. Qualquer ajuda seria muito apreciada. Eu também tentei usar o Crontab e tive dificuldades. Meu script é o seguinte:

#!/bin/bash

echo "Run as sudo to lower power-limits."
echo ""

nvidia-smi -i 0 -pl 100
nvidia-smi -i 1 -pl 100
nvidia-smi -i 2 -pl 100

echo ""
echo ""

nvidia-smi
    
por Tyler S 03.02.2018 / 16:53

1 resposta

1

Você pode colocar o caminho completo (onde esse script está realmente localizado) em rc.local . Tudo o que você colocar em rc.local será executado como usuário root enquanto o sistema operacional estiver pronto para executar o script (plaese, perdoe a falta de exatidão e para o meu inglês), então tenha cuidado. Deixo um exemplo:

nano /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/local/samba/bin/samba_dnsupdate --use-samba-tool
exit 0

Isso significa que, quando meu sistema operacional estiver pronto para executar scripts, ele executará samba_dnsupdate com a opção --use-samba-tool e esse script estará, na verdade, em /usr/local/samba/sbin/

Saudações

    
por 03.02.2018 / 20:27