答え1
systemctl
の出力が端末に送信されない場合、例えばにパイプすると、grep
出力の各列がリストの最長項目に収まるように必要に応じて大きくなります。これがまさにここで起こるものです。セルリストの一部のセルに名前が非常に長く、すべてのセルの出力を並べ替えると、yarn.service
間に大きなスペースが作成されますloaded failed failed
。
セル出力をフィルタリングするには、systemctl
組み込みパターンマッチングを使用してください。
sudo systemctl list-units '*yarn*'
grep
このオプションを使用して取得した行に出力を制限し--no-legend
、このオプションを使用して色や特殊文字を使用せずにポケットベルを起動--plain
しないようにすることができます--no-pager
。
sudo systemctl list-units --plain --no-legend --no-pager '*yarn*'
複数のパターンを指定でき、結果にはすべてのパターンに一致する項目が含まれます。
sudo systemctl list-units --plain --no-legend --no-pager '*yarn*' '*hdfs*'
特定のデバイスの状態を取得するには、より良いサブコマンドがあります。サービスがスクリプトで実行されているかどうかをテストする「正しい」方法。