Giết tất cả các quy trình thuộc về người dùng bằng pkill

Mục lục:

Anonim

Activity Monitor và công cụ dòng lệnh 'kill' truyền thống có thể xử lý hầu hết các nhu cầu chấm dứt quy trình, nhưng nếu bạn đã từng cần nhắm mục tiêu và hủy tất cả các quy trình thuộc về một tài khoản người dùng, thì bạn biết đấy nó có thể là một nhiệm vụ bực bội. Mặc dù Trình giám sát hoạt động cho phép bạn sắp xếp “Quy trình của người dùng khác” và chọn nhiều quy trình, nhưng nó không cho phép bạn chấm dứt nhiều quy trình cùng một lúc.Tương tự như vậy, các lệnh kill và killall tiêu chuẩn thường nhằm vào các quy trình cụ thể chứ không phải mọi tác vụ đơn lẻ thuộc về một tài khoản người dùng cụ thể. Đây là lúc lệnh 'pkill' xuất hiện, giúp đơn giản hóa việc hủy ngay lập tức mọi tiến trình đơn lẻ thuộc về bất kỳ người dùng nào thông qua thiết bị đầu cuối.

Cách hủy tất cả quy trình từ người dùng bằng pkill

Cú pháp cơ bản để sử dụng pkill để hủy tất cả các tiến trình của người dùng như sau:

pkill -u tên người dùng

Xác minh rằng tất cả các quy trình thuộc về người dùng đó đã bị chấm dứt bằng cách sử dụng cờ -u trên lệnh ps:

ps -u tên người dùng

Giả sử mọi thứ diễn ra như dự kiến, bạn sẽ thấy một danh sách trống được báo cáo lại.

pkill không phân biệt chữ hoa chữ thường, có nghĩa là tên người dùng của “Người dùng thử nghiệm” sẽ được xác định giống như “người dùng thử nghiệm”.

Nếu bạn định tự mình thử điều này, tốt nhất bạn nên sử dụng chuyển đổi người dùng nhanh để bắt đầu đăng nhập mới bằng tài khoản người dùng khác hoặc sử dụng máy chủ ssh và thực hiện nó trên một tài khoản khác máy Mac cục bộ. Sử dụng pkill trên tên người dùng đang hoạt động của riêng bạn sẽ khiến tất cả các quy trình chấm dứt, một số quy trình làm mới ngay lập tức, nhưng nhiều quy trình nền sẽ không tự động bắt đầu lại. Điều này dẫn đến tất cả các loại hành vi đặc biệt và tùy thuộc vào những gì bạn đang chạy, đừng quá ngạc nhiên khi thấy hệ điều hành sẽ trở nên không sử dụng được đến mức bạn sẽ phải đăng xuất và đăng nhập lại hoặc thậm chí khởi động lại nếu người dùng đang hoạt động. tài khoản được nhắm mục tiêu bởi pkill là tài khoản gốc hoặc cấp quản trị.

Lệnh pkill hơi khó hiểu khi chỉ vào tên người dùng và có thể được coi là một cách về cơ bản buộc phải thoát khỏi mọi thứ thuộc về người dùng đã đăng nhập, nhưng điều đó cũng có thể khiến nó trở nên rất mạnh mẽ. công cụ để khắc phục sự cố và khi xử lý các quy trình không còn tồn tại hoặc quá trình xác sống vẫn nguyên vẹn mặc dù người dùng đã đăng xuất.

Trước đây chúng ta đã thảo luận về lệnh pkill để hủy các tiến trình bằng ký tự đại diện và các ứng dụng/quy trình cụ thể thuộc về một người dùng và mặc dù đó là một bổ sung gần đây cho Mac kể từ Mac OS từ Mac OS X Mountain Lion trở đi, nó đã xuất hiện trong thế giới Linux khá lâu.

Giết tất cả các quy trình thuộc về người dùng bằng pkill