<commit_before><commit_msg>add "fuser" doc<commit_after>---
layout: post
title: "fuser"
date: "2021-12-07"
excerpt: "fuserコマンドについて"
project: false
config: true
tag: ["linux", "fuser"]
comments: false
---

# fuserコマンドについて

## 概要
 - ソケット、ファイルを使用しているプロセスを特定する

## 引数
 - `-v`
   - 詳細
 - `-n`
   - ネームスペースの指定
   - `file`
	 - ファイル 
   - `tpc`
	 - tpc
   - `udp`
	 - udp
 - `-k`
   - killする
   - `-i`
	- インタラクティブに確認する 

## tpc 80を使用しているプロセスを確認する

```console
$ sudo fuser -v -n tcp 80
Cannot stat file /proc/2984499/fd/1023: Permission denied
Cannot stat file /proc/2984509/fd/1023: Permission denied
Cannot stat file /proc/2984512/fd/1023: Permission denied
                     USER        PID ACCESS COMMAND
80/tcp:              root      2983011 F.... apache2
                     www-data  2983012 F.... apache2
                     www-data  2983014 F.... apache2
```

## tpc 80を使用しているプロセスをkillする

```console
$ sudo fuser -ki -n tcp 80
Cannot stat file /proc/2984499/fd/1023: Permission denied
Cannot stat file /proc/2984509/fd/1023: Permission denied
Cannot stat file /proc/2984512/fd/1023: Permission denied
80/tcp:              2983011 2983012 2983014
Kill process 2983011 ? (y/N)
```

## ホームディレクトリ以下のプロセスでロックされているものを確認する

```console
$ fuser -v . -n file | less
  ...
  <user>    3851013 ..c.. tmux: client
  ...
```
 - `-ki`や`-k`オプションを追加すると終了することができる

## 参考
 - [Learn How to Use ‘fuser’ Command with Examples in Linux](https://www.tecmint.com/learn-how-to-use-fuser-command-with-examples-in-linux/)
 - [How To Use the Linux Fuser Command](https://www.digitalocean.com/community/tutorials/how-to-use-the-linux-fuser-command)
{'fraction_non_alphanumeric': 0.1396923076923077, 'fraction_numerical': 0.08923076923076922, 'mean_word_length': 2.5194805194805197, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 2, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1863864', 'n_tokens_mistral': 830, 'n_tokens_neox': 689, 'n_words': 154}