为什么this脚本在FreeBSD上不起作用?我在Centos和Debian上运行脚本,一切都很好。在FreeBSD(10.2)上我遇到以下错误:
awk: syntax error at source line 1
context is
match($0, "^listen >>> queue:[[:space:]]+(.*)", <<<
awk: bailing out at source line 1
-0.9902
作为一个例子,这里有一些php-form状态的输出:
pool: www
process manager: ondemand
start time: 29/Feb/2016:15:18:54 +0200
start since: 2083770
accepted conn: 1467128
listen queue: 0
max listen queue: 129
listen queue len: 128
idle processes: 1
active processes: 2
total processes: 3
max active processes: 64
max children reached: 1
slow requests: 0
On Centos和Debian,当我跑:
/path/to/script/php-fpm-check.sh "idle processes" http://127.0.0.1/status
我得到1
,但在FreeBSD上面是上面提到的错误。
答案 0 :(得分:2)
match
的3参数形式是GNU awk扩展(docs)。您必须找到另一种捕获匹配的方法(可能使用RSTART和RLENGTH变量设置为match()的副作用),或者在freebsd系统上安装gawk。