Команда rc.local имеет приглашение пользователя и не запускается при запуске
В Ubuntu при запуске я хочу запустить команду, просто попросите пользователя ввести число.
эта команда должна выполняться рекурсивно в цикле while. после того, как пользователь введет номер
PHP-программа обработает его и снова попросит пользователя ввести другой номер. у меня этот скрипт работает отлично.
затем поместите этот скрипт в файл rc.local для запуска при запуске. когда я вручную запускаю команду "exec 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.
set -x # tell sh to display commands before execution
while true; do php /var/www/html/eventica/artisan SendRfid:send; sleep 0; done
exit 0
1 ответ
Я не могу это проверить. Но я предполагаю, что вы можете создать.sh файл и запустить его при загрузке через crontab
,
set -x # tell sh to display commands before execution
while true; do php /var/www/html/eventica/artisan SendRfid:send; sleep 0; done
exit 0
Создайте файл.sh и сохраните его. (Например, /etc/myscript.sh) Тест запустите его. Если вы получили ошибку "Отказано в доступе", запустите chmod +x /etc/myscript.sh
Если это работает, вы можете использовать profile.d
запустить скрипт при входе в систему.
ln -s /etc/myscript.sh /etc/profile.d/myscript.sh
Это создает символическую ссылку на profile.d
,