ハードドライブをマウント解除し、複数のtmuxセッションを開こうとします。
$ sudo umount /mnt/PIHDD
umount: /mnt/PIHDD: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
$ lsof /mnt/PIHDD/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
tmux 1415 pi 36r DIR 8,1 20480 5 /mnt/PIHDD
$ ps 1415
PID TTY STAT TIME COMMAND
1415 ? Ss 17:26 tmux
どのtmuxセッションを見なければならないのか、どうすればわかりますか?それとも他の理由は何ですか?セッションにそのドライブの現在のディレクトリを含むウィンドウが含まれているとします。
すべてのセッションのすべてのポッドを手動で調査しましたが、犯人が見つかりませんでした。
https://superuser.com/a/212913/291007役に立つようですが、cat /proc/1415/environ
まったく含まれていません。^TMUX=
しかし^@_=/usr/bin/tmux^@
、。
この回答期待される出力を生成しますが、PID 1415は含まれません。
thisによると、lsof -p 1415
プロセスには現在1つのセッションのディレクトリだけでなく、tmuxで開かれたすべてのディレクトリがあります。これは、PIDを持つスレッドが1415
実際にtmux自体であることを意味します。lsof
マウントポイントdirのみをリストし/mnt/PIHDD
、その中にあるファイルはリストしないことは注目に値します。
興味深いことに、ls /proc/1415/fd
関連するマウントポイントは他のドライブとは異なる色で表示されます。
おそらく関連があるかもしれません:インストールされたドライブ/mnt/PIHDD
はNTFSでフォーマットされています。ドライブは/mnt/oceanPortal
EXT-4です。
tmuxが私のハードドライブを使用している理由とそれを安全に停止する方法は?
役に立つかもしれない追加情報:
$ gdb -p 1415
(gdb) info proc
process 1415
cmdline = 'tmux'
cwd = '/home/pi'
exe = '/usr/bin/tmux'
もともとこの質問をした後にtmuxを再起動すると、実行中のraspiが再起動され、そのファイルディスクリプタを再取得できることを確認しました。今tmux
新しいPIDを使用するプロセスは/mnt/PIHDD
もはや/proc/{pid}/fd
。
これは、与えられた説明を確認できないことを意味します。一方、同じ問題があり、tmuxを再起動できる人がいる場合はお試しください。
そうかもしれないファイル記述子を閉じる問題なく作業できました。しかし、私はまだ知識豊富な確認をしたいと思います。tmuxにfdがある理由を説明してください。。
将来的に誰かに役立つ可能性のある無関係な情報:
- 欲しくないgdbをtmuxに接続してみてくださいtmux内で。これにより、新しいターミナル/ ssh接続を開き、
kill -9
.gdbから取得したpidを取得しますps -ax | grep gdb
。