LIVE SIMPLY

データ活用組織のマネジメントを行いつつコーチング、本など学んだことを書くblog

【Linuxメモ】tty, fuser, w

【tty】
■一言でいうと
仮想ファイルで出入力を扱うデバイス

このリンクがわかりやすかった


【fuser】
■どんなコマンドか
ファイルやソケットを使用しているプロセスを特定する

■利用場面
umountでアンマウントできない、
ファイルやディレクトリを削除できない、などという時に使える。
例えば以下のような状況でイラッときに。

# umount /mnt
umount: /mnt: device is busy

このような場合、強引にやるのであれば、umount -lで強制的にアンマウントもできる

#ちなみに-l は「”lazy”のことで、「強制的に」とは少し意味合いが違う。ひと言でいうと
ファイルシステムから切り離してからアンマウントするオプション」
だそう。

掴んでいるプロセスを確認するには以下のようにfuserコマンドを実行してみると、
対象FSにアクセスしているユーザやプロセスのPID、コマンドが表示される。
# fuser -va /mnt

  • uオプションをつけると更に、プロセスの所有者名を表示する。

なお、以下のようにlsofコマンドを利用してもよい。
# lsof | grep ‘/mnt’

以下のようにすれば
/mntにアクセスしているプロセスをすべてkillできる。
# fuser -km /mnt

  • iオプションをつければ、プロセスを kill する前にユーザーに確認する。


※引用:OpenGroove


【w】
■wコマンド出力の見方
$ w
17:58:47 up 5 days, 20:28, 2 users, load average: 0.36, 0.26, 0.24
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 101.1.3.145 14:55 5.00s 0.04s 0.02s vim /etc/resolv.conf
root pts/1 101.1.3.144 17:43 0.00s 0.03s 0.00s w

一行目:現在時刻, 稼動期間, .. , ログインユーザ数, 過去 1, 5, 15分でのシステムの平均負荷

二行目:
  USER:ログインユーザ
  TTY:端末名
  FROM:ホスト名(どこからログインしているか)
  LOGIN@:ログイン時刻
  IDLE:アイドル時間
  JCPU:操作しているttyから実行されている全プロセスが使った全時間。
  PCPU:現在のタスク(カレントプロセス)が使っている時間。

引用:リンク