SELinux блокирует выполнение PHP ping
. Вам необходимо указать правильный контекст для ваших PHP-скриптов.
Предполагая, что они расположены в /var/www/html/
, вам нужно сделать:
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html(/.*)?'
restorecon -R -v /var/www/html/
Однако это должен сделать пользователь root на сервере.
Примечание. :Проверка связи сработала после ввода setenforce 0
, поскольку эта команда отключает SELinux. Постоянно отключать SELinux (не рекомендуется, так как при этом отключаются проверки безопасности ), отредактируйте /etc/sysconfig/selinux
и укажите SELINUX=disabled
.
проблема в том, что &
интерпретируется вызывающей оболочкой, это не передается xargs.
поэтому вы должны вызвать bash, который выполнит python3 с вашими аргументами.
решение:
ls *.py | xargs -n1 -i bash -c 'python3 {} &'
Пример:
root@debian:/# ls -1d /etc/rc* | xargs -n1 -i bash -c 'sleep 90 & echo {} '
/etc/rc0.d
/etc/rc1.d
/etc/rc2.d
/etc/rc3.d
/etc/rc4.d
/etc/rc5.d
/etc/rc6.d
/etc/rcS.d
root@debian:/# ps faux | grep sleep
root 494 0.0 0.0 4184 704 pts/0 S 20:54 0:00 sleep 90
root 496 0.0 0.0 4184 672 pts/0 S 20:54 0:00 sleep 90
root 498 0.0 0.0 4184 652 pts/0 S 20:54 0:00 sleep 90
root 500 0.0 0.0 4184 648 pts/0 S 20:54 0:00 sleep 90
root 502 0.0 0.0 4184 672 pts/0 S 20:54 0:00 sleep 90
root 504 0.0 0.0 4184 656 pts/0 S 20:54 0:00 sleep 90
root 506 0.0 0.0 4184 648 pts/0 S 20:54 0:00 sleep 90
root 508 0.0 0.0 4184 684 pts/0 S 20:54 0:00 sleep 90
root 510 0.0 0.0 11108 948 pts/0 S+ 20:54 0:00 grep sleep
Еще одно решение, потому что вы хотите управлять всеми своими процессами с помощью заданий. Вам нужно создать большую строку, содержащую все ваши команды, и вызвать для нее eval
.
CMD=$( ls *py | xargs -n1 -i echo ' python3 {} & ' )
eval $CMD
или
eval $( ls *py | xargs -n1 -i echo ' python3 {} & ' )