Я пытаюсь запустить bash-скрипт с кнопки веб-сайта на Raspberry Pi, где скрипт находится в home / pi /. Фрагмент кода ниже показывает мое текущее решение. Всякий раз, когда нажимается кнопка веб-сайта, он вызывает этот блок кода в файле c.
else if(strcmp(argv[1],"SelfTest") == 0)
{
char *command = "/bin/bash";
char name[40];
strcpy(name, "home/pi/SelfTest.sh");
execl(command, command, name, NULL);
return 0;
}
Я запускаю это на Raspberry Pi 3+, скрипт, который я запускаю, имеет разрешения 777 и принадлежит pi: www-data, если это поможет.
Я проверил, действительно ли вызывается блок IF, просто создав пустой каталог с именем 'TEST'. Нижний фрагмент кода показывает, как я подошел к этому. Кажется, это работает без проблем (как только я нажимаю кнопку на веб-сайте, я вижу «home / pi /» и появляется новая папка «TEST»). К сожалению, когда я запускаю верхний фрагмент кода (для запуска SelfTest.sh), сценарий не запускается (сам сценарий должен записывать вывод в файл журнала с отметкой времени, а нажатие кнопки не обновляет отметка времени. Отметка времени обновляется только при запуске сценария из терминала)
else if(strcmp(argv[1],"SelfTest") == 0)
{
char *command = "/bin/mkdir";
char name[40];
strcpy(name, "/home/pi/TEST");
execl(command, command, name, NULL);
return 0;
}
То, что должно происходить каждый раз, когда я нажимаю кнопку веб-сайта, это то, что он должен запускать SelfTest.sh. Я должен быть в состоянии проверить это, прочитав файл журнала, но он никогда не обновляется, когда я нажимаю кнопку веб-сайта.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация!