Làm thế nào để giết các quy trình một cách dễ dàng

Về cơ bản là có 4 cách de Matar một cách hiệu quả quá trình en Linux: giết nó bằng tên, bằng cách chỉ định một phần của tên, bằng PID, trỏ chuột vào cửa sổ tiến trình. Hãy xem từng cái một ...

Kill: giết một tiến trình bằng PID của nó

Cách phức tạp nhất nhưng đồng thời cũng là cách chính xác nhất để giết một quy trình là thông qua PID ("Bộ nhận dạng quy trình") của nó. Bất kỳ biến thể nào trong số 3 biến thể này đều có thể phục vụ:

kill -TERM pid kill -SIGTERM pid kill -15 pid

Bạn có thể sử dụng tên của tín hiệu (TERM hoặc SIGTERM) mà bạn muốn gửi đến quá trình hoặc số nhận dạng của nó (15). Để xem danh sách đầy đủ các tín hiệu có thể xảy ra, tôi khuyên bạn nên kiểm tra hướng dẫn sử dụng. Để làm điều này, hãy chạy:

Bài viết liên quan:
Tắt và khởi động lại bằng lệnh
giết người

Hãy xem một ví dụ về cách diệt Firefox:

Đầu tiên, bạn phải tìm ra PID của chương trình:

ps -ef | grep firefox

Lệnh đó sẽ trả về một cái gì đó như sau:

1986? Sl 7:22 /usr/lib/firefox-3.5.3/firefox

Chúng tôi sử dụng PID được trả về bởi lệnh trên để kết thúc quá trình:

kill -9 1986

killall: giết một tiến trình bằng cách sử dụng tên của nó

Lệnh này rất dễ

killall process_name

Một điều cần lưu ý khi sử dụng phương pháp này là nếu có nhiều hơn một phiên bản của chương trình đó đang chạy, tất cả chúng sẽ bị đóng.

Bài viết liên quan:
Cron & crontab, đã giải thích

pkill: giết một quy trình bằng cách sử dụng một phần tên của nó

Có thể kết thúc một tiến trình bằng cách chỉ định tên đầy đủ hoặc một phần của tên. Điều đó có nghĩa là bạn không cần phải nhớ quá trình PID để gửi tín hiệu.

pkill part_process_name

Đổi lại, phương pháp này sẽ giết tất cả các tiến trình có chứa từ được nhập vào. Điều đó có nghĩa là nếu chúng ta mở 2 tiến trình có chung một từ trong tên thì cả hai sẽ bị đóng.

xkill: giết quá trình bằng cách chọn cửa sổ bằng chuột

Đây là phương pháp đơn giản và thiết thực nhất. Trong trường hợp xảy ra thảm họa, chỉ cần nhấn Alt + F2 để xuất hiện hộp thoại cho phép bạn chạy các lệnh. Từ đó, hãy chạy lệnh sau:

xkill

Con trỏ chuột sẽ biến đổi thành một hộp sọ nhỏ. Tất cả những gì còn lại là nhấp vào cửa sổ bạn muốn đóng và thì đấy. Quá trình tạm biệt.

Một số nhận xét cuối cùng

Cuối cùng, tôi muốn chia sẻ một số mẹo có thể hữu ích. Trong Linux, cũng như trong Windows, khi một tiến trình bị treo, cửa sổ được đề cập thường có thể được đóng lại bằng cách nhấp vào nút Đóng (có hình dạng giống như một dấu X). Sau một vài giây, một cửa sổ sẽ xuất hiện hỏi chúng ta nếu chúng ta thực sự muốn kết thúc quá trình vì nó không phản hồi đúng cách. Chúng tôi nói có và đó là nó.

Điều này có nghĩa là các phương pháp được mô tả ở đây nên được sử dụng khi không có gì xảy ra khi bạn nhấp vào nút Đóng của cửa sổ được đề cập.

Trong trường hợp có thảm họa lớn, đừng quên rằng trước khi nhấn có thể thực hiện khởi động lại "an toàn".

Cuối cùng, nó có thể rất hữu ích để tìm ra các quy trình hiện đang chạy. Đối với điều này, các môi trường máy tính để bàn khác nhau (GNOME, KDE, v.v.) có các công cụ đồ họa hỗ trợ tác vụ này. Tuy nhiên, trong trường hợp bạn không thể truy cập chúng hoặc chỉ muốn thực hiện từ thiết bị đầu cuối, bạn có thể thực hiện như sau:

hàng đầu

Trong trường hợp điều này không hoạt động hoặc bạn chưa cài đặt gói tương ứng, bạn luôn có thể chạy:

ps -A

Điều này sẽ liệt kê tất cả các tiến trình đang chạy, cùng với tên và PID tương ứng của chúng.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Jerome Navarro dijo

    «Ps -ef | "grep firefox" không giống với "pgrep firefox"?

    Cá nhân tôi sử dụng "pidof" để lấy PID.

    Chúc mừng!

  2.   Iago Martinez Ocaña dijo

    những gì tôi sử dụng nhiều nhất là:
    ~ $ đầu
    hiển thị cho chúng tôi danh sách các quy trình đang hoạt động, sau đó nếu chúng tôi nhấn "k" hoặc viết "kill", nó sẽ yêu cầu chúng tôi cung cấp pid của quy trình để giết (chúng tôi đọc nó từ trên cùng) và sau đó nhập, để thoát khỏi đầu, chúng tôi nhấn "q ".
    Mục nhập rất tốt, nhưng hình thức này có vẻ đơn giản hơn với tôi. Nếu thiết bị đầu cuối không chạy, chúng tôi thử ctrl + alt + f [1-6] và thực hiện từ đó.

  3.   anatonia dijo

    Cảm ơn các bạn thiên tài nào đã giúp mình giúp mình với bài viết này !!!

  4.   Octavio Villanueva dijo

    Xin chào! Có thể là lệnh xkill chỉ làm cho chương trình X biến mất và vẫn mở không? Bởi vì nó luôn xảy ra với tôi rằng khi tôi đến gặp người quản lý tác vụ, tiến trình vẫn còn tồn tại và tôi phải giết nó.
    Tôi thừa nhận điều đó, tôi là một người mới. Và các lệnh killall và pkill sẽ giúp tôi rất nhiều. Cảm ơn vì đã tải chúng lên, blog rất tốt.
    ¡Saludos!

  5.   sóc heberth dijo

    Tôi khuyên bạn nên htop 😀 nó là tốt nhất cho điều đó ...

    làm việc với ncurses

    Sudo apt-get cài đặt htop

  6.   lyon dijo

    pidof không dành cho tất cả các Unix, ví dụ như Solaris không có lệnh đó, và điều đó khiến chúng ta phải sử dụng ps mạnh mẽ.

    Liên quan

  7.   dub dijo

    htop dài dòng hơn và thân thiện với người dùng

  8.   RudaMale dijo

    Trong trường hợp sử dụng PID, điều chính xác là $ kill PID gửi tín hiệu SIGTERM theo mặc định, trong trường hợp quá trình không phản hồi, $ kill -9 PID được sử dụng để gửi tín hiệu SIGKILL, cái sau loại bỏ quá trình mà không cho nó đóng cùng một cách chính xác (có thể có mất dữ liệu chẳng hạn). SIGTERM xin vui lòng, SIGKILL đưa cho anh ta một cái rìu 🙂

  9.   Rodrigo dijo

    Cảm ơn bạn rất nhiều, tôi sẽ kiểm tra nó nếu nó xảy ra với tôi một lần nữa.

  10.   Rodrigo dijo

    một truy vấn. Khi môi trường máy tính để bàn bị treo trong Ubuntu (tôi sử dụng Unity), nó có thể được khởi động lại mà không giết tất cả các tiến trình khác không ?. Tôi không rành về linux lắm và đôi khi tôi đang làm việc thì bị treo, điều duy nhất tôi làm là khởi động lại an toàn, nhưng tôi mất tất cả những gì tôi đang làm.

    Tôi không biết liệu sự nghi ngờ của tôi có được hiểu không.

    Liên quan

  11.   Gian hàngValds dijo

    Một tiến trình ở trạng thái zombie không thể bị giết theo cách truyền thống.

    Tại đây để biết thêm chi tiết: esdebian.org/wiki/matar-proceso-zombie

  12.   xảo trá dijo

    Để nâng cao hơn, làm thế nào để bạn giết một tiến trình ở trạng thái ZOMBIE?
    chỉ để tạo ra một cuộc trò chuyện nhỏ 😀

  13.   George Vips dijo

    Rất tốt, chỉ là những gì tôi cần ..

  14.   Pepe dijo

    Sự thật là lệnh kill rất hữu ích. Có thể giết các tiến trình gây phiền nhiễu chỉ bằng cách gọi kill là điều tuyệt vời. Cuối cùng là một lệnh phục vụ một cái gì đó.

  15.   Alex dijo

    Câu hỏi lý thuyết: Giết một quy trình có nghĩa là nó ngừng hoạt động. Vì vậy, câu hỏi của tôi là ngược lại, nếu tôi muốn khởi động lại quá trình mà tôi đã giết, tôi phải làm thế nào?

    1.    alex dijo

      tốt bạn đặt ./ (tên của quy trình) &
      Với điều này, bạn chạy lại nó và PID của bạn cũng sẽ xuất hiện 😀

  16.   JC Rivera dijo

    Tuyệt vời, tôi đã có thời gian tìm kiếm sự giúp đỡ như thế này. Nó rất hữu ích đối với tôi. Cảm ơn bạn rất nhiều vì đã chia sẻ.
    Lời chào từ San Luis Potosí, Mexico.

  17.   alex dijo

    Làm thế nào tôi có thể giết hai tiến trình biết PID của chúng trong cùng một lệnh?

    1.    John dijo

      Tôi nghĩ đó là 'giết [PID đầu tiên] [PID thứ hai]

  18.   Gauchita Watafak dijo

    Bài viết rất thú vị. Trang web này là trang web linux chính của tôi.

    Tôi thường sử dụng:
    ps rìu | grep process_name (cái này để định vị nó trên hệ thống)
    kill -9 process_id

    Tôi chia sẻ một khóa học bash trực tuyến miễn phí bao gồm:
    https://aprendemia.com/cursos/curso-de-bash-scripting Hy vọng rằng nó sẽ hữu ích.

  19.   andy dijo

    và nếu tôi muốn nó trở thành một hồ sơ trong linux chỉ có một hồ sơ đóng lại như nó phải như vậy?

    ví dụ tôi có 2 hồ sơ firefox đang mở
    nhưng tôi chỉ muốn đóng một hồ sơ duy nhất

    hồ sơ 1
    hồ sơ 2

    Tôi chỉ muốn cấu hình 2 đóng vì lệnh phải như vậy

    cảm ơn trước vì câu trả lời

  20.   Tôi dijo

    làm thế nào tôi có thể giết các quy trình nền trước của ubuntu, chỉ với một dòng lệnh