실행 중인 프로세스에서 호출을 추적하고 계산합니다.

실행 중인 프로세스에서 호출을 추적하고 계산합니다.

몇 시간 동안 실행되는 백그라운드 프로세스가 있습니다. write실시간으로 통화량을 추적하고 계산 하고 싶습니다 .

sudo strace -p27861 -s50 -e write 

그것은 나에게 다음 줄을 제공합니다 :

write(1, "...........", 70) = 70

내가 원하는 것은 다음과 같은 실시간 통화 수를 얻는 것입니다.

write(1, "...........", 70) = 70, 1
write(1, "...........", 560) = 560, 2
write(1, "...........", 103) = 103, 3

아니면 그냥 세어보세요:

1
2
3

답변1

예를 들어 GNU AWK를 사용하여 출력을 사후 처리하면 됩니다.

strace -q -p27861 -s50 -e write -e signal=none 2>&1 | gawk '{ print $0 ", " ++i }'

(이것은 당신이 원하는 실시간 출력을 정확하게 제공합니다) 또는 cat -n제안된 대로사용자 414777:

strace -q -p27861 -s50 -e write -e signal=none 2>&1 | cat -n

-q"Attach" 메시지를 억제하고 -e signal=none신호 추적을 억제합니다.

관련 정보