在linux系統(tǒng)下,用php的 pcntl_fork
創(chuàng)建子進程時報錯:bash: fork: Resource temporarily unavailable, 錯誤本質(zhì)是Linux操作系統(tǒng)無法創(chuàng)建更多的進程,導(dǎo)致出錯;
因此,解決辦法是修改Linux允許創(chuàng)建多個子進程;
使用 ulimit -a 查看當(dāng)前系統(tǒng)的參數(shù):
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited
系統(tǒng)允許創(chuàng)建的最大數(shù)量進程是max user processes 這個參數(shù),我們只要把這個參數(shù)修改即可,兩種方式:
-
當(dāng)前終端進程有效,重新登錄仍然啟用默認值:
ulimit -u 4096
永久生效,修改/etc/seurity/limits.d/90-nproc.conf
?