125個の起動サーバーでPHP7.0-FPMを実行しており、再起動後にステータスを確認したいと思います。 systemctl status
、これはもちろん130行以上の出力を生成するため、すぐに読むことは困難です。
root@web2:/etc/php/7.0/fpm/pool.d# systemctl --no-pager --full status php7.0-fpm
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2016-10-27 13:38:29 CDT; 13min ago
Process: 5961 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, status=0/SUCCESS)
Main PID: 5971 (php-fpm7.0)
Status: "Processes active: 0, idle: 125, Requests: 12, slow: 0, Traffic: 0req/sec"
Tasks: 126
Memory: 294.2M
CPU: 728ms
CGroup: /system.slice/php7.0-fpm.service
├─5971 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
├─5974 php-fpm: pool www
├─5975 php-fpm: pool www
├─5976 php-fpm: pool www
├─5977 php-fpm: pool www
├─5978 php-fpm: pool www
├─5979 php-fpm: pool www
├─5980 php-fpm: pool www
├─5981 php-fpm: pool www
├─5982 php-fpm: pool www
├─5983 php-fpm: pool www
├─5984 php-fpm: pool www
├─5985 php-fpm: pool www
├─5986 php-fpm: pool www
├─5987 php-fpm: pool www
├─5988 php-fpm: pool www
├─5989 php-fpm: pool www
├─5990 php-fpm: pool www
├─5991 php-fpm: pool www
├─5992 php-fpm: pool www
├─5993 php-fpm: pool www
├─5994 php-fpm: pool www
├─5995 php-fpm: pool www
├─5996 php-fpm: pool www
├─5997 php-fpm: pool www
├─5998 php-fpm: pool www
├─5999 php-fpm: pool www
├─6000 php-fpm: pool www
├─6001 php-fpm: pool www
├─6002 php-fpm: pool www
├─6003 php-fpm: pool www
├─6004 php-fpm: pool www
├─6005 php-fpm: pool www
├─6006 php-fpm: pool www
├─6007 php-fpm: pool www
├─6008 php-fpm: pool www
├─6009 php-fpm: pool www
├─6010 php-fpm: pool www
├─6011 php-fpm: pool www
├─6012 php-fpm: pool www
├─6013 php-fpm: pool www
├─6014 php-fpm: pool www
├─6015 php-fpm: pool www
├─6016 php-fpm: pool www
├─6017 php-fpm: pool www
├─6018 php-fpm: pool www
├─6019 php-fpm: pool www
├─6020 php-fpm: pool www
├─6021 php-fpm: pool www
├─6022 php-fpm: pool www
├─6023 php-fpm: pool www
├─6024 php-fpm: pool www
├─6025 php-fpm: pool www
├─6026 php-fpm: pool www
├─6027 php-fpm: pool www
├─6028 php-fpm: pool www
├─6029 php-fpm: pool www
├─6030 php-fpm: pool www
├─6031 php-fpm: pool www
├─6032 php-fpm: pool www
├─6033 php-fpm: pool www
├─6034 php-fpm: pool www
├─6035 php-fpm: pool www
├─6036 php-fpm: pool www
├─6037 php-fpm: pool www
├─6038 php-fpm: pool www
├─6039 php-fpm: pool www
├─6040 php-fpm: pool www
├─6041 php-fpm: pool www
├─6042 php-fpm: pool www
├─6043 php-fpm: pool www
├─6044 php-fpm: pool www
├─6045 php-fpm: pool www
├─6046 php-fpm: pool www
├─6047 php-fpm: pool www
├─6048 php-fpm: pool www
├─6049 php-fpm: pool www
├─6050 php-fpm: pool www
├─6051 php-fpm: pool www
├─6052 php-fpm: pool www
├─6053 php-fpm: pool www
├─6054 php-fpm: pool www
├─6055 php-fpm: pool www
├─6056 php-fpm: pool www
├─6057 php-fpm: pool www
├─6058 php-fpm: pool www
├─6059 php-fpm: pool www
├─6060 php-fpm: pool www
├─6061 php-fpm: pool www
├─6062 php-fpm: pool www
├─6063 php-fpm: pool www
├─6064 php-fpm: pool www
├─6065 php-fpm: pool www
├─6066 php-fpm: pool www
├─6067 php-fpm: pool www
├─6068 php-fpm: pool www
├─6069 php-fpm: pool www
├─6070 php-fpm: pool www
├─6071 php-fpm: pool www
├─6072 php-fpm: pool www
├─6073 php-fpm: pool www
├─6074 php-fpm: pool www
├─6075 php-fpm: pool www
├─6076 php-fpm: pool www
├─6077 php-fpm: pool www
├─6078 php-fpm: pool www
├─6079 php-fpm: pool www
├─6080 php-fpm: pool www
├─6081 php-fpm: pool www
├─6082 php-fpm: pool www
├─6083 php-fpm: pool www
├─6084 php-fpm: pool www
├─6085 php-fpm: pool www
├─6086 php-fpm: pool www
├─6087 php-fpm: pool www
├─6088 php-fpm: pool www
├─6089 php-fpm: pool www
├─6090 php-fpm: pool www
├─6091 php-fpm: pool www
├─6092 php-fpm: pool www
├─6093 php-fpm: pool www
├─6094 php-fpm: pool www
├─6095 php-fpm: pool www
├─6096 php-fpm: pool www
├─6097 php-fpm: pool www
└─6098 php-fpm: pool www
Oct 27 13:38:29 web2 systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
Oct 27 13:38:29 web2 systemd[1]: Started The PHP 7.0 FastCGI Process Manager.
出力するCGroup
情報がすべて必要なわけではありません。一番下にあるのはステータスとログの行です。このように出力をフィルタリングできます:
root@web2:/etc/php/7.0/fpm/pool.d# systemctl --no-pager status php7.0-fpm | grep -v "php-fpm: pool www"
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2016-10-27 13:38:29 CDT; 19min ago
Process: 5961 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, status=0/SUCCESS)
Main PID: 5971 (php-fpm7.0)
Status: "Processes active: 0, idle: 125, Requests: 16, slow: 0, Traffic: 0req/sec"
Tasks: 126
Memory: 295.5M
CPU: 737ms
CGroup: /system.slice/php7.0-fpm.service
├─5971 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
Oct 27 13:38:29 web2 systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
Oct 27 13:38:29 web2 systemd[1]: Started The PHP 7.0 FastCGI Process Manager.
しかし、bashの色付きの書式設定は失われます。これは、簡単なステータスチェックにも非常に便利です。
systemctl
または同様のコマンドにCGroup
なしでこのステータス情報を取得する方法はありますか?
出力を何らかの方法で処理すると、色を取得することは不可能だと思います。 systemctl
は、出力がttyでないことを検出し、カラー出力を生成しません。通常はこれが必要なため、これは多くの場合デフォルトの動作です。
回避策として、CGroup情報を解析し、色を再び追加する小さなスクリプトを次に示します。
Perl -MTerm::ANSIColor -ne 'next if /^CGroup/ || /├─/;
s/(?>: )active/color("bold green").$&.color("reset")/e; print'
それを介してsystemctl
出力を渡すと、Word active
が緑色になります。
systemctl --no-pager status php7.0-fpm |
Perl -MTerm::ANSIColor -ne 'next if /^CGroup/ || /├─/;
s/(?>: )active/color("bold green").$&.color("reset")/e; print'
質問を編集して別の出力を追加する場合(サービスがインストールされていないため、他に何を色付けする必要があるかわかりません)、これを他の可能な出力に拡張できます。
script を使用します。
例えばscript --running -c 'systemctl --no-pager status php7.0-fpm' | grep -v "php-fpm: pool www"