버전:
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
의 출력 어딘가에 나타나야 하는 ping
3개의 후속 프로세스( awk
, grep
및 )로 파이프되었습니다 .tee
ps aux
bash 구문(이 경우 루프)은 bash의 내부 구문이므로 출력
while
에 표시되지 않습니다 .ps
ps -ef -H
(-H
Hierachy와 같은)은 아마도ps aux
.