我尝试使用awk
按进程名称ps ax -ocmd
,但它只为我返回前27个字符。不幸的是,这还不足以选择(awk
)正确的过程。
如何找到整个流程名称?
> ps ax -ocmd
/bin/sh -c php /var/www/vho 27913 08:57
php /var/www/vhosts/path/to 27926 08:57
php /var/www/vhosts/path/to 31541 13:55:57
php /var/www/vhosts/path/to 31542 13:55:57
如何找到匹配的流程:/var/www/vhosts/path/to/my/script.php
?
最终,我正在寻找符合PROCESS_NAME
超过30分钟的流程,如下所示:
ps ax -ocmd,pid,etime | awk '/PROCESS_NAME/{split($(NF),a,":");if(a[1]>30)print}'
或
ps ax -ocmd,pid,etime | awk '/script.php/{split($(NF),a,":");if(a[1]>30)print}'
答案 0 :(得分:0)
您可以尝试ps axww opid,etime,cmd
来自男人:
w宽输出。使用此选项两次以获得无限宽度。
虽然,当您使用 awk 时,cmd
是最后一列,您甚至不需要ww
。