助け合いフォーラム

LPIC

LPIC Lv1-102(Ver5.0)
問題ID : 4670
問題を開く
/mntをアンマウントしようとしたところ、リソースが使用中のためアンマウントできなかった。使用中のプロセスを特定することができるコマンドはどれか

この問題はプレミアムコンテンツです。

上に戻る

使用中のプロセスの特定方法について。

公開日 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


コメント

T Tenpa_

2023/03/13 18:32

nagutabby様 早々にご回答いただきまして、ありがとうございます。 プロセスを表示させるコマンドの違いがよくわかっていませんでしたが、 例を挙げていただいたことで理解が深まりました。 ご教示いただきありがとうございました。

この返信に対して
コメントを記入できます

2023/03/13 17:26

日本語的な話ですかね。問題では

リソースが使用中のためアンマウントできなかった。使用中のプロセスを特定

とあるので、「リソースを使用中のプロセスを特定」したいって意図かと思います。ですので、nagutabbyさんのご説明通り「psコマンドでは、そのプロセスがどのリソースを使用しているかは表示しない」ので誤り、となるんですね。


コメント

T Tenpa_

2023/03/13 18:34

arashi1977様 ご回答いただきありがとうございます。 問題の意図をきちんと理解できるよう、勉強を進めていきたいと思います。 ご教示いただきありがとうございました。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?