助け合いフォーラム
LPIC Lv1-102(Ver5.0)
問題ID : 4670
問題を開く
/mntをアンマウントしようとしたところ、リソースが使用中のためアンマウントできなかった。使用中のプロセスを特定することができるコマンドはどれか
この問題はプレミアムコンテンツです。
使用中のプロセスの特定方法について。
T
Tenpa_
投稿日 2023/03/13
お世話になります。
使用中のプロセスを特定するためのコマンドについてお伺いしたく、投稿しました。
こちらの設問では、使用中のリソースを特定するコマンドとして、「lsof」が答えとなっていますが、
選択肢の1つである「ps」の解説では、「稼働中のプロセスを表示する」とあります。
今回の設問では、なぜ「ps」は正解とならないのでしょうか。
恐れ入りますが、ご教示のほどよろしくお願いいたします。
2023/03/13 11:39
psコマンドは、それぞれのプロセスが開いている(使用している)ディレクトリやファイルの名前は表示しません。
ubuntu@ubuntu:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.2 34864 9392 ? Ss 01:25 0:08 /sbin/init fixrtc splash
root 2 0.0 0.0 0 0 ? S 01:25 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 01:25 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 01:25 0:00 [rcu_par_gp]
root 5 0.0 0.0 0 0 ? I< 01:25 0:00 [slub_flushwq]
root 6 0.0 0.0 0 0 ? I< 01:25 0:00 [netns]
root 10 0.0 0.0 0 0 ? I< 01:25 0:00 [mm_percpu_wq]
root 11 0.0 0.0 0 0 ? I 01:25 0:00 [rcu_tasks_kthread]
root 12 0.0 0.0 0 0 ? I 01:25 0:00 [rcu_tasks_rude_kthread]
root 13 0.0 0.0 0 0 ? I 01:25 0:00 [rcu_tasks_trace_kthread]
root 14 0.0 0.0 0 0 ? S 01:25 0:00 [ksoftirqd/0]
root 15 0.0 0.0 0 0 ? I 01:25 0:00 [rcu_preempt]
root 16 0.0 0.0 0 0 ? S 01:25 0:00 [migration/0]
root 17 0.0 0.0 0 0 ? S 01:25 0:00 [idle_inject/0]
root 19 0.0 0.0 0 0 ? S 01:25 0:00 [cpuhp/0]
root 20 0.0 0.0 0 0 ? S 01:25 0:00 [cpuhp/1]
root 21 0.0 0.0 0 0 ? S 01:25 0:00 [idle_inject/1]
root 22 0.0 0.0 0 0 ? S 01:25 0:00 [migration/1]
root 23 0.0 0.0 0 0 ? S 01:25 0:00 [ksoftirqd/1]
root 26 0.0 0.0 0 0 ? S 01:25 0:00 [cpuhp/2]
root 27 0.0 0.0 0 0 ? S 01:25 0:00 [idle_inject/2]
root 28 0.0 0.0 0 0 ? S 01:25 0:00 [migration/2]
root 29 0.0 0.0 0 0 ? S 01:25 0:00 [ksoftirqd/2]
root 32 0.0 0.0 0 0 ? S 01:25 0:00 [cpuhp/3]
root 33 0.0 0.0 0 0 ? S 01:25 0:00 [idle_inject/3]
root 34 0.0 0.0 0 0 ? S 01:25 0:00 [migration/3]
root 35 0.0 0.0 0 0 ? S 01:25 0:00 [ksoftirqd/3]
root 37 0.0 0.0 0 0 ? I< 01:25 0:00 [kworker/3:0H-kblockd]
root 38 0.0 0.0 0 0 ? S 01:25 0:00 [kdevtmpfs]
root 39 0.0 0.0 0 0 ? I< 01:25 0:00 [inet_frag_wq]
root 41 0.0 0.0 0 0 ? S 01:25 0:00 [kauditd]
root 42 0.0 0.0 0 0 ? S 01:25 0:00 [khungtaskd]
一方で、LiSt Open Filesを意味するlsofコマンドは、指定したディレクトリやファイルを開いているプロセスの名前を表示します。
ubuntu@ubuntu:~$ lsof /
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1255 ubuntu cwd DIR 179,2 4096 2 /
systemd 1255 ubuntu rtd DIR 179,2 4096 2 /
systemd 1255 ubuntu txt REG 179,2 67276 21482 /usr/lib/systemd/systemd
systemd 1255 ubuntu mem REG 179,2 95636 3124 /usr/lib/arm-linux-gnueabihf/libgpg-error.so.0.33.0
systemd 1255 ubuntu mem REG 179,2 460588 3321 /usr/lib/arm-linux-gnueabihf/libpcre2-8.so.0.11.0
systemd 1255 ubuntu mem REG 179,2 66924 3002 /usr/lib/arm-linux-gnueabihf/libcap-ng.so.0.0.0
systemd 1255 ubuntu mem REG 179,2 329216 3212 /usr/lib/arm-linux-gnueabihf/libm.so.6
systemd 1255 ubuntu mem REG 179,2 104024 3209 /usr/lib/arm-linux-gnueabihf/liblzma.so.5.2.5
systemd 1255 ubuntu mem REG 179,2 460428 3474 /usr/lib/arm-linux-gnueabihf/libzstd.so.1.5.2
systemd 1255 ubuntu mem REG 179,2 2561672 4871 /usr/lib/arm-linux-gnueabihf/libcrypto.so.3
systemd 1255 ubuntu mem REG 179,2 87428 3207 /usr/lib/arm-linux-gnueabihf/liblz4.so.1.9.3
systemd 1255 ubuntu mem REG 179,2 17988 3169 /usr/lib/arm-linux-gnueabihf/libip4tc.so.2.0.0
systemd 1255 ubuntu mem REG 179,2 762724 3104 /usr/lib/arm-linux-gnueabihf/libgcrypt.so.20.4.1
systemd 1255 ubuntu mem REG 179,2 198056 3011 /usr/lib/arm-linux-gnueabihf/libcrypt.so.1.1.0
systemd 1255 ubuntu mem REG 179,2 21844 3004 /usr/lib/arm-linux-gnueabihf/libcap.so.2.44
systemd 1255 ubuntu mem REG 179,2 223160 2979 /usr/lib/arm-linux-gnueabihf/libblkid.so.1.1.0
systemd 1255 ubuntu mem REG 179,2 21824 2936 /usr/lib/arm-linux-gnueabihf/libacl.so.1.1.2301
systemd 1255 ubuntu mem REG 179,2 259856 3236 /usr/lib/arm-linux-gnueabihf/libmount.so.1.1.0
systemd 1255 ubuntu mem REG 179,2 112132 3368 /usr/lib/arm-linux-gnueabihf/libselinux.so.1
systemd 1255 ubuntu mem REG 179,2 67332 2941 /usr/lib/arm-linux-gnueabihf/libapparmor.so.1.8.3
systemd 1255 ubuntu mem REG 179,2 67044 3192 /usr/lib/arm-linux-gnueabihf/libkmod.so.2.4.0
systemd 1255 ubuntu mem REG 179,2 132424 2960 /usr/lib/arm-linux-gnueabihf/libaudit.so.1.0.0
systemd 1255 ubuntu mem REG 179,2 66936 1691 /usr/lib/arm-linux-gnueabihf/libpam.so.0.85.1
systemd 1255 ubuntu mem REG 179,2 104012 3367 /usr/lib/arm-linux-gnueabihf/libseccomp.so.2.5.4
systemd 1255 ubuntu mem REG 179,2 1128388 2999 /usr/lib/arm-linux-gnueabihf/libc.so.6
systemd 1255 ubuntu mem REG 179,2 2169160 21127 /usr/lib/arm-linux-gnueabihf/systemd/libsystemd-shared-251.so
systemd 1255 ubuntu mem REG 179,2 1313224 21125 /usr/lib/arm-linux-gnueabihf/systemd/libsystemd-core-251.so
systemd 1255 ubuntu mem REG 179,2 135676 2877 /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3
bash 10935 ubuntu cwd DIR 179,2 4096 127315 /home/ubuntu
bash 10935 ubuntu rtd DIR 179,2 4096 2 /
bash 10935 ubuntu txt REG 179,2 871256 1592 /usr/bin/bash
コメント
2023/03/13 17:26
日本語的な話ですかね。問題では
リソースが使用中のためアンマウントできなかった。使用中のプロセスを特定
とあるので、「リソースを使用中のプロセスを特定」したいって意図かと思います。ですので、nagutabbyさんのご説明通り「psコマンドでは、そのプロセスがどのリソースを使用しているかは表示しない」ので誤り、となるんですね。
コメント
この投稿に対して返信しませんか?
T Tenpa_
2023/03/13 18:32
nagutabby様 早々にご回答いただきまして、ありがとうございます。 プロセスを表示させるコマンドの違いがよくわかっていませんでしたが、 例を挙げていただいたことで理解が深まりました。 ご教示いただきありがとうございました。