Câu trả lời:
Theo bài đăng trên blog này (có thêm thông tin ở đây ), đó là do iTunes, do "bộ lọc" của DTrace, do đó, nó không thể được sử dụng để cố gắng phá vỡ DRM của iTunes.
Thoát khỏi iTunes giải quyết lỗi.
Các lỗi đang nhận đầu ra cho thiết bị lỗi chuẩn và có thể được lọc ra bằng cách chạy lệnh như sau:
sudo iotop -C 5 12 2>/dev/null
Điều này không có tác dụng phụ trong việc lọc ra bất kỳ lỗi nào khác có thể xảy ra. Tôi đã thấy nó là một sự đánh đổi ok, trong đó nó làm cho sản lượng iotop của tôi có thể đọc được.
Thật không may, tôi không chắc nguyên nhân của lỗi là gì. Tôi đã tìm kiếm, nhưng vẫn chưa thể tìm thấy bất cứ điều gì.
Nói tóm lại, lỗi được hiển thị khi cố gắng theo dõi một quá trình đã yêu cầu không được theo dõi.
Lỗi không phải do iTunes gây ra về mặt kỹ thuật, mà do quá trình đã vô hiệu hóa theo dõi, sử dụng mã như sau.
ptrace(PT_DENY_ATTACH, 0, 0, 0);
Mã này đặt cờ trên tiến trình ở cấp hạt nhân, điều này ngăn việc gỡ lỗi và theo dõi tiến trình.
Ứng dụng nổi tiếng nhất thực hiện điều này chỉ là iTunes, ứng dụng có DRM API này có thể được phát minh ra, nhưng API có sẵn cho các quy trình khác. Tôi đã thấy một số ứng dụng bên thứ 3 sử dụng API này.
Tất nhiên, giống như tất cả DRM, nó có thể bị phá vỡ. Các tùy chọn bỏ qua phạm vi tính năng chống theo dõi và chống gỡ lỗi này bằng cách sử dụng trình gỡ lỗi để bỏ qua lệnh gọi API đến các tiện ích mở rộng kernel vá tính năng này trong không gian kernel.
Lấy từ /unix//a/276219
Điều này có khả năng liên quan đến El Capitan và Bảo vệ toàn vẹn hệ thống (
csrutil status
) có thể ảnh hưởng đếndtrace
hành vi.Khắc phục tiềm năng bao gồm khởi động lại Mac vào chế độ khôi phục ( ⌘- Rtại thời điểm khởi động), sau đó trong Terminal run:
csrutil enable --without dtrace
để bật SIP, nhưng vô hiệu hóa các hạn chế DTrace (lưu ý: đây là tham số không có giấy tờ ).
Hoặc vô hiệu hóa SIP hoàn toàn bằng cách:
csrutil disable # Not recommended.
Xem: