Как запустить скрипт bash через 20 секунд при входе в систему?
Я хочу запустить скрипт bash, например:
#!/bin/bash
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40
Всего через 20 секунд после входа в мой пользователь. Можете ли вы помочь мне сделать это? Я искал Google и сделал то, что они сказали, но это не сработало для меня.
Если сценарий bash может быть запущен в новом окне терминала, в котором будет отображаться вывод, скажите, пожалуйста, что мне нужно сделать, чтобы добиться этого.
3 ответа
Простой способ сделать это - добавить эти строки в rc.local в вашей системе.
Для этого вам нужны права root или sudo. Вы можете редактировать файл в вашем любимом текстовом редакторе, например, vim:
vim /etc/rc.local
(sleep 20
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40) &
Первая строка говорит компьютеру подождать 20 секунд, остальные 2 строки взяты из вашего скрипта и &
в конце говорит компьютеру запустить его в под-оболочке, чтобы ваш компьютер не ждал завершения функции и продолжил загрузку.
Вы должны добавить эти строки в любом месте до exit 0
вызовите в конце этого скрипта, так как это заставит его выйти и проигнорирует любые строки после этого.
Вы также можете ввести это в терминале:
crontab -e
и затем введите это в:
@reboot /path/to/script
и в сценарии введите в начале это:
sleep 20
и это может нормально работать таким образом.
Еще одно предложение - создать исполняемый скрипт bash. Позволяет назвать его onboot.sh и сохранить его в вашем домашнем каталоге
~/ Onboot.sh
#!/bin/bash
sleep 20
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40
затем сделайте его исполняемым, выполнив эту команду
chmod +x ~/onboot.sh
затем добавьте эту строку в ваш ~/.bashrc
~/onboot.sh &
Каждый раз, когда вы создаете новый сеанс терминала, он будет запускаться ~/.bashrc
который затем будет управлять вашим ~/onboot.sh
файл.
РЕДАКТИРОВАТЬ: забыл упомянуть, что это будет работать только для этого конкретного пользователя. не для всех пользователей в системе.