Tôi đang tìm kiếm nhân viên OS X của FileMon, sau này được đưa vào ProcessMon .
BTW, điều cần thiết là có thể lọc theo quy trình.
Tôi đang tìm kiếm nhân viên OS X của FileMon, sau này được đưa vào ProcessMon .
BTW, điều cần thiết là có thể lọc theo quy trình.
Câu trả lời:
Các công cụ, một phần của bộ phát triển Apple Xcode Apple có thể giám sát tất cả các quyền truy cập và ghi tệp. Mở nó từ /Appluggest/Xcode.app/Contents/Appluggest/Instrument.app, chọn ứng dụng hoặc quy trình của bạn và nhấn Bắt đầu. Bạn có nhiều tùy chọn bộ lọc có sẵn trong các menu.
Các phiên bản cũ hơn của Xcode đang lưu trữ Ứng dụng tại /Developer/Appluggest/Instrument.app
Có lệnh opensnoop
. Chạy mà không có đối số, nó có thể áp đảo bạn với đầu ra, nhưng nó có thể được chạy với các đối số -n name
để giới hạn đầu ra cho các quy trình được đặt tên name
.
sudo opensnoop | grep .classpath
cho phép bạn truy cập vào một tệp classpath chẳng hạn.
Launchd là công cụ cấp hệ thống chính để theo dõi các tệp (và một thư mục là một tệp đặc biệt) vì nó luôn chạy. Hazel là một chương trình giúp đặt một GUI đẹp mắt xung quanh các WatchPath khởi chạy. Nhìn vào đây để biết rất nhiều lời khuyên về launchd cũng như hàng trăm hướng dẫn, một bài viết wikipedia tốt và các tài liệu dev của Apple.
fseventsd sẽ ghi lại một số thay đổi - vì vậy bạn có thể sử dụng FSeventer hoặc truy cập các tệp đó nếu launchd không phải là tách trà của bạn.
fs_usage và lsof là công cụ dòng lệnh nhận biết quy trình để truy cập vào hệ thống con IO khi nó đang chạy. Bộ đệm fs_usage có thể bị quá tải, vì vậy nếu bạn muốn một cái gì đó được bảo đảm hơn và ít "nhìn nhanh hơn" thì nó không đáng tin cậy cho tổng kết quả chính xác như các lệnh khác.
Không ai đã đề cập đến Activity Monitor, được tìm thấy trong /Applications/Utilities
thư mục.
Nhấp vào Tên quy trình trong danh sách, sau đó nhấn nút "Kiểm tra" trên thanh công cụ.
Có ba tab trong cửa sổ kết quả: Memory
, Statistics
, Open Files and Ports
. Các Open Files and Ports
tab sẽ hiển thị tất cả các file mở được sử dụng bởi quá trình này.
Cách nhanh hơn là:
$ lsof [path_to_file]
Giải pháp này không yêu cầu mật khẩu gốc và cung cấp cho bạn kết quả sau, rõ ràng:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Finder 497 JR7 21r REG 1,2 246223 33241712 image.jpg
QuickLook 1007 JR7 txt REG 1,2 246223 33241712 image.jpg
Có một giao diện đồ họa để lsof
nhập thông tin. Đó là phần mềm quyên góp từ HAMSoft và nó được gọi là What Keeping Me . Được thiết kế để trả lời rằng "Tại sao tôi không thể xóa cái này khỏi thùng rác?" câu hỏi xuất hiện thường xuyên trên OS X, đây cũng là một cách hữu ích để theo dõi các xử lý I / O mở đối với các tiến trình đang chạy nếu bạn chỉ tò mò về những gì đang diễn ra. Nó cho phép bạn một số tìm kiếm và lọc đơn giản.