有個后臺業(yè)務任務使用workerman的定時器運行,30秒運行一次,業(yè)務代碼只有一行就是使用php的exec調(diào)用了一個外部程序,這個程序平均耗時2秒,整體業(yè)務最多耗時3秒左右,跑著跑著就卡死了,用strace追蹤,卡死在read操作上,好像是在等管道數(shù)據(jù)沒有等到!請問下,這個具體是什么原因造成的呢?現(xiàn)在
?
部分追蹤到的數(shù)據(jù)。
Process 6339 attached
22:27:14.918829 read(8,
?
--------------------------------------
?
php? ? ?6339 root? ? 5u? unix 0xffff880236c9f4c0? ? ? 0t0 174767200 socket
php? ? ?6339 root? ? 6u? unix 0xffff880236c9f140? ? ? 0t0 174767201 socket
php? ? ?6339 root? ? 7u? sock? ? ? ? ? ? ? ? 0,6? ? ? 0t0 174767229 can't identify protocol
php? ? ?6339 root? ? 8r? FIFO? ? ? ? ? ? ? ? 0,8? ? ? 0t0 176760067 pipe
?