←→ Underneath: Background Apps · Tất cả hướng dẫn Mac
Cách xem những gì đang chạy nền trên máy Mac
Máy Mac của bạn chạy hàng trăm tiến trình mà bạn chưa từng mở. Phần lớn thuộc về macOS. Một số đến từ ứng dụng bạn đã cài, và một vài trong số đó khởi động lại mỗi lần bạn đăng nhập. Dưới đây là cách tìm chúng.
Trả lời ngắn: mở Giám sát hoạt động để xem những gì đang chạy, và Cài đặt hệ thống › Cài đặt chung › Mục đăng nhập & tiện ích mở rộng để xem những gì tự khởi động. Để có bức tranh đầy đủ, hãy xem các thư mục LaunchAgents và LaunchDaemons hoặc chạy launchctl list trong Terminal.
1. Giám sát hoạt động: những gì đang chạy ngay lúc này
Mở ứng dụng từ Ứng dụng › Tiện ích, hoặc nhấn ⌘ Space và gõ “Giám sát hoạt động”.
- Bấm tab Bộ nhớ và sắp xếp theo cột Bộ nhớ. Những tiến trình dùng nhiều nhất nằm trên cùng.
- Chọn Xem › Tiến trình của tôi để ẩn tiến trình của hệ thống và của người dùng khác.
- Chọn Xem › Tất cả tiến trình, theo thứ bậc để xem tiến trình nào khởi động tiến trình nào.
- Bấm đúp vào một tiến trình và mở Tệp và cổng đang mở để xem đường dẫn của nó.
Điều nó bỏ sót: nó không cho biết vì sao một tiến trình chạy, tiến trình đó có quay lại sau khi khởi động lại không, hay tệp nào khởi động nó. Những cái tên như com.adobe.acc.installer.v2 hoặc Google Chrome Helper (Renderer) không nói lên nhiều điều.
2. Mục đăng nhập & tiện ích mở rộng: những gì tự khởi động
Mở Cài đặt hệ thống › Cài đặt chung › Mục đăng nhập & tiện ích mở rộng (Login Items & Extensions). Bạn sẽ thấy hai danh sách:
- Mở khi đăng nhập: các ứng dụng mở khi bạn đăng nhập. Chọn một ứng dụng và bấm – để xóa.
- Cho phép trong nền (Allow in the Background): các ứng dụng và nhà phát triển có tiến trình trợ giúp chạy nền, như trình cập nhật, agent đồng bộ hoặc trình giám sát VPN. Một công tắc sẽ tắt chúng. Xem “Cho phép trong nền” nghĩa là gì.
Điều nó bỏ sót: nó không cho biết một mục có đang chạy không, dùng bao nhiêu bộ nhớ, hoặc đến từ tệp nào. Một số mục chỉ hiển thị tên nhà phát triển.
3. Các thư mục LaunchAgents và LaunchDaemons
Phần lớn tác vụ nền tự khởi động là tác vụ launchd. Mỗi tác vụ là một tệp .plist nhỏ cho macOS biết cần chạy cái gì và khi nào. Trong Finder, chọn Đi › Đi tới thư mục… (⇧⌘G) và mở:
| Thư mục | Chạy dưới quyền | Khởi động |
|---|---|---|
~/Library/LaunchAgents | Bạn | Khi bạn đăng nhập |
/Library/LaunchAgents | Từng người dùng | Khi bất kỳ người dùng nào đăng nhập |
/Library/LaunchDaemons | root | Khi máy Mac khởi động, trước khi đăng nhập |
/System/Library/Launch… | macOS | Được bảo vệ; đừng đụng vào |
Tên tệp thường là label của tác vụ, chẳng hạn com.google.keystone.agent.plist. Mở tệp trong trình soạn thảo văn bản để xem ProgramArguments (cái gì chạy), RunAtLoad (khởi động khi đăng nhập) và KeepAlive (khởi động lại nếu dừng).
Điều nó bỏ sót: từ macOS 13, ứng dụng còn có thể đăng ký tác vụ nền từ bên trong gói ứng dụng của chính nó, không có tệp nào trong các thư mục này. Những tác vụ đó chỉ xuất hiện trong Cho phép trong nền.
4. Terminal: danh sách đầy đủ
Các lệnh này chỉ đọc. Chúng không thay đổi gì.
Mọi tác vụ launchd được nạp cho người dùng của bạn, kèm ID tiến trình (dấu gạch ngang nghĩa là không chạy) và mã thoát lần cuối:
launchctl list | grep -v com.apple
Chi tiết của một tác vụ, gồm đường dẫn tệp plist và trạng thái:
launchctl print gui/$(id -u)/com.example.label
Các tiến trình lắng nghe trên một cổng mạng (máy chủ phát triển, công cụ đồng bộ):
lsof -nP -iTCP -sTCP:LISTEN
Các tiến trình của bạn, dùng nhiều bộ nhớ nhất xếp trước (RSS tính bằng kilobyte):
ps -U $(id -u) -o pid,rss,etime,comm -m | head -30
Mọi mục đăng nhập và mục nền mà macOS biết (cần mật khẩu quản trị viên; kết quả rất dài):
sudo sfltool dumpbtm
Thế nào là bình thường?
- Nhiều tiến trình trợ giúp cho một ứng dụng. Chrome, Slack, VS Code và các ứng dụng Chromium hoặc Electron khác chạy một tiến trình cho mỗi tab hoặc cửa sổ. Chúng thoát cùng ứng dụng.
- Trình cập nhật. Google, Microsoft, Adobe và Zoom cài agent để kiểm tra cập nhật. Chúng thường nhỏ và an toàn để dừng, nhưng ứng dụng sẽ không tự cập nhật.
- Đồng bộ đám mây và VPN. Dropbox, OneDrive và ứng dụng VPN cần tiến trình trợ giúp để hoạt động. Dừng chúng sẽ dừng đồng bộ hoặc bảo vệ.
- Công cụ cho nhà phát triển. Dịch vụ Homebrew, Docker, cơ sở dữ liệu và máy chủ phát triển cục bộ vẫn chạy sau khi bạn đóng terminal.
Nếu bạn không nhận ra một cái tên, hãy tìm kiếm label của nó hoặc tên nhà phát triển trong đường dẫn trước khi dừng nó.
Câu hỏi thường gặp
Có nhiều tiến trình chạy trên máy Mac có phải là xấu không?
Không. Một máy Mac bình thường chạy vài trăm tiến trình, và phần lớn thuộc về macOS. Hãy tìm vài tiến trình dùng nhiều bộ nhớ hoặc CPU, hoặc những tiến trình bạn không nhận ra.
Vì sao Giám sát hoạt động hiển thị nhiều tiến trình Google Chrome Helper như vậy?
Chrome và các ứng dụng Chromium hoặc Electron khác chạy một tiến trình trợ giúp cho mỗi tab, tiện ích mở rộng hoặc trình kết xuất (renderer). Chúng là một phần của ứng dụng và thoát khi ứng dụng thoát.
Launch agent được lưu ở đâu trên máy Mac?
Trong ~/Library/LaunchAgents cho người dùng của bạn, /Library/LaunchAgents cho mọi người dùng, và /Library/LaunchDaemons cho tác vụ toàn hệ thống chạy với quyền root. Các thư mục /System/Library thuộc về macOS và được bảo vệ.
Danh sách Mục đăng nhập trong Cài đặt hệ thống có hiển thị mọi thứ không?
Không. Danh sách này hiển thị các ứng dụng mở khi đăng nhập và các ứng dụng có mục nền, được nhóm theo ứng dụng hoặc nhà phát triển. Nó không cho biết cái gì đang chạy, dùng bao nhiêu bộ nhớ, hoặc tệp nào khởi động nó.