Команда 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,

Другие вопросы по тегам