3 ví dụ về lệnh fuser Linux trên Centos / Ubuntu / Debian / Fedora

Cú pháp cơ bản của lệnh fuser Linux

Dưới đây là cú pháp cơ bản của lệnh fuser:

# fuser [options] [file|socket]

# fuser [options] -SIGNAL [file|socket]

# fuser -l 

Cách sử dụng lệnh fuser Linux

Tìm quy trình nào đang truy cập vào một thư mục

Chạy lệnh fuser mà không có bất kỳ tùy chọn nào sẽ hiển thị các PID của các quy trình hiện đang truy cập vào thư mục làm việc hiện tại của bạn.

$ fuser .
OR
$ fuser /home/tecmint

Tìm hiểu cách sử dụng lệnh fuser Linux thông qua các ví dụ

Tìm các tiến trình đang chạy của thư mục

Để có đầu ra chi tiết và rõ ràng hơn, bạn có thể kích hoạt tùy chọn -v hoặc --verbose như sau. Trong đầu ra, fuser sẽ hiển thị tên thư mục hiện tại, sau đó là các cột của chủ sở hữu quy trình (USER), ID quy trình (PID), loại truy cập (ACCESS) và lệnh (COMMAND) như trong hình ảnh dưới đây.

$ fuser -v

Tìm hiểu cách sử dụng lệnh fuser Linux thông qua các ví dụ

Danh sách các tiến trình đang chạy của thư mục

Trong cột ACCESS, bạn sẽ thấy các loại truy cập được biểu thị bằng các ký tự sau:

  • c - thư mục hiện tại
  • e - tệp thực thi đang chạy
  • f - tệp đang mở, tuy nhiên, ký tự f không được hiển thị trong đầu ra
  • F - tệp đang mở để ghi, ký tự F cũng không được hiển thị trong đầu ra
  • r - thư mục gốc (root directory)
  • m - tệp mmap hoặc thư viện chia sẻ

Tìm xác định quy trình nào đang truy cập vào hệ thống tệp

Tiếp theo, bạn có thể xác định quy trình nào đang truy cập vào tệp tin ~.bashrc của bạn như sau:

$ fuser -v -m .bashrc

Tùy chọn "-m NAME" hoặc "--mount NAME" có nghĩa là liệt kê tất cả các quy trình truy cập vào tệp tin có tên NAME. Trong trường hợp bạn chỉ định một thư mục làm NAME, nó sẽ tự động thay đổi thành "NAME/" để sử dụng bất kỳ hệ thống tệp nào có thể được gắn kết trên thư mục đó.

Cách tắt và gửi tín hiệu cho các quy trình sử dụng lệnh fuser Linux

Trong phần này, chúng ta sẽ làm việc với lệnh fuser Linux để tắt và gửi tín hiệu cho các quy trình. Để tắt một quy trình đang truy cập vào một tệp tin hoặc socket, sử dụng tùy chọn -k hoặc --kill như sau:

$ sudo fuser -k .

Để tương tác và tắt một quy trình, khi bạn sẽ được hỏi xác nhận ý định tắt các quy trình truy cập vào một tệp tin hoặc socket, sử dụng tùy chọn -i hoặc --interactive như sau:

$ sudo fuser -ki .

Tìm hiểu cách sử dụng lệnh fuser Linux thông qua các ví dụ

Tắt một quy trình tương tác trên Linux

Hai lệnh trước đó sẽ tắt tất cả các quy trình truy cập vào thư mục hiện tại của bạn. Tín hiệu mặc định được gửi đến các quy trình là SIGKILL, trừ khi bạn sử dụng tùy chọn -SIGNAL.

Bạn có thể liệt kê tất cả các tín hiệu bằng cách sử dụng tùy chọn -l hoặc --list-signals như sau:

$ sudo fuser --list-signals 

Tìm hiểu cách sử dụng lệnh fuser Linux thông qua các ví dụ

Liệt kê tất cả các tín hiệu để tắt quy trình trên Linux

Do đó, bạn có thể gửi một tín hiệu đến các quy trình như trong lệnh tiếp theo, trong đó SIGNAL là bất kỳ tín hiệu nào được liệt kê trong đầu ra ở trên.

$ sudo fuser -k -SIGNAL

Ví dụ, lệnh dưới đây gửi tín hiệu HUP đến tất cả các quy trình mà có thư mục /boot đang mở.

$ sudo fuser -k -HUP /boot 

Trang man sẽ cung cấp cho bạn thông tin chi tiết về các tùy chọn sử dụng tiên tiến, thông tin bổ sung và chi tiết hơn về lệnh fuser.

Bên trên là tất cả ví dụ về lệnh fuser Linux mà bạn nên biết. Hãy áp dụng chúng vào quá trình thực hành trên hệ điều hành để đạt được hiệu quả công việc cao nhất.

Mọi người cùng tìm kiếm: sudo fuser