Cách tạm dừng & Tiếp tục ứng dụng hoặc quy trình trong Mac OS X
Cần nhanh chóng giải phóng một số sức mạnh xử lý? Bạn có thể làm điều đó một cách dễ dàng bằng cách tạm dừng và sau đó tiếp tục lại bất kỳ quy trình hoặc ứng dụng đang hoạt động nào trong Mac OS X. Về mặt kỹ thuật, đây thực sự là 'dừng' và 'tiếp tục' một quy trình, nhưng không nên nhầm lẫn việc dừng với việc tiêu diệt tích cực hơn hoặc buộc thoát ứng dụng và do đó, thuật ngữ tạm dừng hoặc tạm dừng thường dễ dàng hơn để phân biệt hai loại này.
Điều này có nghĩa là bạn có thể thực hiện một quy trình đang tiêu tốn 100% CPU và tạm dừng quy trình đó trong khi bạn làm việc khác, sau đó tiếp tục lại khi bạn sẵn sàng để quy trình đó thực hiện công việc của mình. Điều này đạt được thông qua thủ thuật dòng lệnh và chúng tôi sẽ đề cập đến hai cách khác nhau để thực hiện điều đó bằng cách sử dụng các lệnh kill và killall với các cờ -STOP và -CONT. Lý tưởng nhất là bạn sẽ cảm thấy thoải mái và có kiến thức về dòng lệnh trước khi sử dụng tính năng này, nhưng chắc chắn là không cần thiết.
Trước khi bắt đầu, hãy khởi chạy ứng dụng Terminal, có trong /Applications/Utilities/, đồng thời khởi chạy Activity Monitor, ứng dụng này nằm trong cùng một thư mục.
Cách Tạm dừng Dừng một Tiến trình hoặc Ứng dụng trong Mac OS X
Cú pháp cơ bản để tạm dừng ứng dụng như sau, trong đó PID là ID của quá trình bạn muốn tạm dừng:
kill -STOP PID
PID luôn là một số và mọi quy trình đơn lẻ đang chạy trên máy Mac đều có một ID được liên kết.
Nếu bạn đã quen với việc truy xuất ID tiến trình, thì bạn đã biết phải làm gì khi chỉ sử dụng các lệnh trên, nhưng nếu không thì đó là nội dung chúng tôi sẽ trình bày tiếp theo và đó là lý do tại sao chúng tôi khởi chạy “Hoạt động Màn hình"
Tìm PID & Dừng quá trình liên kết
Đây là phương pháp thân thiện hơn với người dùng, sử dụng Giám sát hoạt động:
- Từ Giám sát hoạt động, sử dụng chức năng Tìm kiếm ở góc trên bên phải và nhập tên ứng dụng bạn muốn tạm dừng (ví dụ: iTunes)
- Khi các quy trình và/hoặc (các) ứng dụng phù hợp hiển thị, hãy tìm ID quy trình bằng cách xem bên dưới cột “PID”
- Thêm PID phù hợp vào lệnh kill nói trên, như sau:
- Lưu ý hoạt động CPU cho ID tiến trình đó hiện ở mức 0%, cho biết tiến trình đã bị tạm dừng (về mặt kỹ thuật, đã dừng)
kill -STOP 3138
Đừng quên PID, hoặc tốt hơn hết, đừng đóng hẳn cửa sổ Terminal, vì chính PID đó là bạn sẽ tiếp tục ứng dụng như thế nào để tiếp tục có thể sử dụng lại.
Bạn sẽ thấy tác động của việc dừng một quá trình đối với mức sử dụng CPU là rất lớn, ảnh chụp màn hình này cho thấy iTunes tiêu thụ 70% CPU trong khi chạy Visualizer và quá trình iTunes tương tự sau khi bị tạm dừng với - Cờ DỪNG. Quá trình này thực sự đã bị dừng lại:
Những người có nhiều kiến thức về dòng lệnh hơn có thể thích sử dụng ps hơn là Activity Monitor, điều này thực sự khá dễ dàng:
ps aux |grep Name
Thay đổi “Tên” thành tên bắt đầu của một quy trình hoặc tên ứng dụng là bất kỳ, định vị PID, rồi đặt tên đó vào lệnh kill:
kill -STOP 92841
Việc bạn sử dụng Trình giám sát hoạt động hay ps để truy xuất PID đều không quan trọng, miễn là bạn nhập đúng ID tiến trình khi sử dụng lệnh kill.
Lưu ý rằng việc cố gắng sử dụng một ứng dụng đã bị tạm dừng hầu như luôn dẫn đến việc nhìn thấy quả bóng tử thần đang quay trên bãi biển, trừ đi mức sử dụng CPU. Do đó, nếu bạn muốn sử dụng lại ứng dụng, bạn phải “tiếp tục” ứng dụng đó.
Cách Tiếp tục Ứng dụng hoặc Quy trình “Đã Dừng”
Việc tiếp tục một ứng dụng đã dừng hoặc bị tạm dừng rất đơn giản, chỉ cần thay đổi một chút lệnh hủy và sử dụng cùng một ID tiến trình mà bạn đã truy xuất từ các bước trước:
kill -CONT PID
Ví dụ: để tiếp tục ứng dụng iTunes bằng cách sử dụng PID trước đó:
kill -CONT 3138
Và bây giờ iTunes có thể sử dụng lại được trừ con trỏ chờ quay. Cùng với điều này, việc quay trở lại bất kỳ mức độ tiêu thụ CPU nào đã tồn tại trước đó.
Ảnh chụp màn hình bên dưới minh họa thủ thuật này bằng cách sử dụng cả lệnh kill và killall:
Sử dụng -STOP và -CONT với killall về cơ bản là giống nhau, nhưng nó có một số hạn chế liên quan đến tên và do đó, chúng tôi đã đề cập đến phương pháp trực tiếp hơn là sử dụng kill dựa trên PID để thay thế. Tuy nhiên, hãy chứng minh điều này bằng killall.
Dừng & Tiếp tục Ứng dụng theo Tên Ứng dụng
Nếu bạn biết tên chính xác của ứng dụng hoặc quy trình, bạn cũng có thể sử dụng lệnh ‘killall’ với cờ -STOP để tạm dừng các quy trình.Điều này có thể dễ dàng hơn đối với các ứng dụng đơn giản để xác định tên, nhưng nó có những hạn chế khi làm việc với các quy trình có tên phức tạp hoặc để tạm dừng một quy trình cụ thể có các quy trình trùng lặp có cùng tên (như tab Chrome cụ thể hoặc cửa sổ trộn lẫn với nhiều quy trình “Trình kết xuất Google Chrome”), do đó, chúng tôi đã đề cập đến phương pháp PID trước tiên vì nó trực tiếp hơn nhiều.
Lệnh tạm dừng cơ bản với killall như sau:
killall -STOP AppName
Không chắc tên ứng dụng là gì? Sử dụng ps và grep:
ps aux |grep AppName
Ví dụ: bạn có thể grep cho “Chrome” để tìm tất cả các quy trình có tên “Chrome” trong tên:
ps aux|grep Chrome
Hoặc bạn chỉ có thể nhắm mục tiêu quy trình bằng một tên ứng dụng cụ thể như sau:
"killall -STOP -c Google Chrome"
Việc tiếp tục các quy trình và ứng dụng với killall chỉ là thay đổi cờ từ -STOP thành -CONT, mọi thứ khác đều giống nhau:
killall -CONT AppName
Ví dụ: để tiếp tục ứng dụng có tên dài:
"killall -CONT -c Google Chrome"
Một lần nữa, ứng dụng/quy trình sẽ tiếp tục hoạt động như bình thường và mức sử dụng CPU sẽ trở lại như trước khi bị tạm dừng.
Ứng dụng hoặc quy trình không có dấu cách trong tên có thể bị ảnh hưởng trực tiếp bởi killall mà không cần bất kỳ cờ hoặc chỉ báo bổ sung nào, chẳng hạn như iTunes.