Câu trả lời:
strace
in dấu vết của nó trên lỗi tiêu chuẩn, không phải trên đầu ra tiêu chuẩn. Đó là bởi vì thông thường muốn chuyển hướng đầu ra tiêu chuẩn của chương trình, nhưng thường không phải là vấn đề mà stderr của stracer và stderr của chương trình bị lẫn lộn.
Vì vậy, bạn nên chuyển hướng strace
thiết bị xuất chuẩn sang thiết bị xuất chuẩn để có thể chuyển nó:
sudo strace -p $(pgrep apache2) 2>&1 | grep open
ngoại trừ những gì bạn đang thực sự tìm kiếm là
sudo strace -p $(pgrep apache2) -e open
strace: Invalid process id: '-e'
với lệnh cuối cùng. Tôi đang ở phiên bản 4.8. 2010 / 03-30.
apache2
bằng tên của quá trình bạn đang quan tâm đến việc kiểm tra đó. pgrep
In một PID đơn, nếu không chọn một và chạy ví dụsudo strace -p 1234 -e open
vim
tô sáng cú pháp màu thì sao? strace $CMD 2>&1 > /dev/null | vim -c ':set syntax=strace' -
.
open
các cuộc gọi, tôi chỉ lấy đó làm ví dụ, điều tôi thực sự đang cố gắng là làm nổi bật màu sắc