Ubuntu 20では、ps aux出力完了コマンドがありません。

Ubuntu 20では、ps aux出力完了コマンドがありません。

バージョン:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04
Codename:       focal

htopまたはps auxを使用してプロセスを調べると、最初のパイプの後にコマンドの残りの部分は表示されません。

私が実行したコマンドは次のとおりです。

ping -i 0.5 4.2.2.4 | while read row; do awk '{ $1=strftime("%Y-%m-%d %H:%M:%S",substr($0,2,10));print $0}' <<< $row;done | grep 'no answer' | tee log.txt > log_store.txt

ps auxの出力は次のようになります。

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Mar20 ?        00:00:00 /lib/systemd/systemd
root        23     1  0 Mar20 ?        00:00:01 /lib/systemd/systemd-journald
root        25     1  0 Mar20 ?        00:00:00 /usr/sbin/cron -f
root        28     1  0 Mar20 ?        00:00:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
root        31    30  0 Mar20 ?        00:00:24 ping -i 0.5 4.2.2.4  <--------------

ご覧のとおり、最初のパイプのping部分のみが表示されます。残りの部分を何とか見る方法はありますか?

ベストアンサー1

の出力のどこかに現れるべきping3つの後続のプロセス(awkgrepおよび)にパイプされています。teeps aux

  1. bash構文(この場合はループ)はbashの内部構文であるため、出力whileには表示されません。ps

  2. ps -ef -H-HHierachyのような)はおそらくps aux

おすすめ記事