Câu trả lời:
stracein 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 stracethiế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.
apache2bằng tên của quá trình bạn đang quan tâm đến việc kiểm tra đó. pgrepIn một PID đơn, nếu không chọn một và chạy ví dụsudo strace -p 1234 -e open
vimtô sáng cú pháp màu thì sao? strace $CMD 2>&1 > /dev/null | vim -c ':set syntax=strace' -.
opencá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