HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: //volume1/@appstore/WebStation/misc/conf_webstation_php
#!/usr/bin/bash

CPU_MASK="0xfc0fc0"

function taskset_by_pidfile {
	local pid_file=$1
	local mask=$2
	if [ -f "$pid_file" ]; then
		local parent_pid
		parent_pid=$(<"$pid_file")

		/usr/bin/taskset -p "$mask" "$parent_pid" > /dev/null

		for child_pid in $(/usr/bin/ps -o pid --ppid "$parent_pid" | /usr/bin/tail -n +2); do
			/usr/bin/taskset -p "$mask" "$child_pid" > /dev/null
		done
	fi
}

php_list="$(/var/packages/WebStation/target/tools/synowebstation --get-php-profile-services)"
for php_service in $php_list; do
	IFS='@' read -a php_array <<< "$php_service"
	PHP_PID=${php_array[1]}
	if [ -n "$PHP_PID" ]; then
		taskset_by_pidfile "/run/php-fpm/php-$PHP_PID.pid" "$CPU_MASK"
	fi
done