экран sudo -dmS

Я пытаюсь запустить новый экран с PHP использование сценария shell_exec(), команда, которую я запускаю, использует sudoт.е. sudo screen -dmS [name] .... пока я могу убить экраны используя sudo screen -S [name] -X quit отлично, я не могу создать новый экран с заданным именем, есть идеи, почему? (Кстати, я добавил своего пользователя в sudoers)

0

Решение

Во-первых, если вы выполняете скрипт, убедитесь, что в скрипте установлен флаг выполнения, если это необходимо; если не вопрос, который я не подозреваю ….

Это весьма вероятно, проблема с вашей средой PATH.

Когда вы запускаете новый сеанс экрана с вашей программой для запуска, вы порождаете новую среду с настройками сеанса по умолчанию; что это значит, что ни ваш .bashrc ни .profile или любые сценарии настройки оболочки будут запущены до запуска сценария.

Здесь я предполагаю, что ваш сценарий выполняет бомбардировку с путем, который существует в вашей пользовательской переменной PATH, но отсутствует в переменной PATH сеанса экрана. Либо переопределите путь поиска, либо полностью укажите путь ко всем исполняемым файлам, используемым в скрипте.

Попробуйте запустить экран с -L

Это создаст файл screenlog.0 в вашем текущем рабочем каталоге, он будет содержать содержимое stderr и stdout из сеанса экрана, даже если оно внезапно завершится.

screen -dmLS anything /path/to/script
cat ./screenlog.0
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]