どちらも作業しているファイルの数を表示します。
しかし、すべてが異なる結果を示しています。
root@host [~]# lsof /home4
root@host [~]# lsof /home2
root@host [~]# lsof /home4
それから我々は得た。
fuser -uvm /home4
root 2621 Frce. (root)crond
root 2635 Frce. (root)atd
root 4554 frce. (root)S99firstboot
root 4768 .rce. (root)firstboot
root 6533 .rce. (root)setup
root 11042 Frce. (root)leechprotect
root 11049 Frce. (root)httpd
root 17885 Frce. (root)httpd
root 18163 .rce. (root)sshd
root 18184 .rce. (root)bash
nobody 18619 Frce. (nobody)httpd
nobody 18679 Frce. (nobody)httpd
nobody 18812 Frce. (nobody)httpd
nobody 18821 Frce. (nobody)httpd
nobody 18841 Frce. (nobody)httpd
nobody 18843 Frce. (nobody)httpd
nobody 18850 Frce. (nobody)httpd
nobody 18869 Frce. (nobody)httpd
nobody 18885 Frce. (nobody)httpd
nobody 18901 Frce. (nobody)httpd
nobody 18914 Frce. (nobody)httpd
root 18932 .rc.. (root)flush-7:0
root 30728 Frce. (root)cphulkd
root 30756 Frce. (root)cpsrvd-ssl
root 30806 Frce. (root)cpdavd
root 30833 .rce. (root)queueprocd
root 30904 Frce. (root)tailwatchd
root 30913 Frce. (root)cpanellogd
私は何が間違っていましたか?
答え1
両方の使用法は異なります。
の場合、lsof
特定のパスに開いているファイルのみを表示するには、指定された最初のパスの--
前に来ます。
lsof -- /home4
lsof -- /home4 /home2
lsof
パスを含む開いているすべてのファイルが表示されます。
fuser
一方、for、show openは指定したファイル
fuser -uv <filename>
特定のパスにアクセスするプロセスを表示するには、次のようにします。-m
fuser -uvm /home3
fuser
特定のファイルを開いたプロセスIDを識別するのに役立ちます。
lsof
特定のプロセスで開かれたすべてのファイルを見つけるのに役立ちます。
答え2
これは100%正確ではありません。文字列「--」は、オプションの後とパスのリストの前に一度だけ使用されます。
lsof [オプション] [--] [名前]
次のコマンド
lsof - / home4 - / home2
現在のディレクトリに「--」というファイルがない場合、エラーが発生します。
これは問題になることはありません。
lsof - /home4 /home2
通常、「--」は「オプションの終わり」を意味し、シェルで使用されます。したがって、ハイフンで始まるいくつかのパラメータ(ファイル名など)を使用する場合は、パラメータが(無効な)オプションフラグに渡されないように「--」を使用する必要があります。パラメータに変換されます。