タグ付けされた質問 「lsof」

lsofは開いているプロセスのファイルを一覧表示するツールです

5
ポートにバインドされているプロセスの特定
私はコマンドを使用することを知っています: lsof -i TCP (またはlsofを使用したパラメーターのバリアント)特定のポートにバインドされているプロセスを特定できます。これは、8080にバインドしたいものを開始しようとしていて、他の誰かがすでにそのポートを使用しているが、何がわからない場合に便利です。 lsofを使用せずにこれを行う簡単な方法はありますか?多くのシステムでの作業に時間を費やしており、lsofがインストールされていないことがよくあります。
90 networking  process  tcp  lsof 

7
このUnixソケットペアのもう一方の端は誰ですか?
UNIXソケットのもう一方の端があるプロセスを判別したい。 具体的には、で作成されたものについて尋ねてsocketpair()いますが、問題はどのUNIXソケットでも同じです。 、およびparentを作成するプログラムがあります。親プロセスは閉じて、通信を続けます。子供は反対のことをします。次に、子は別のプログラムを実行します。2人は、このソケットペアを介して相互に通信できます。socketpair(AF_UNIX, SOCK_STREAM, 0, fds)fork()fds[1]fds[0]close(fds[0]); s=fds[1]exec()child1 さて、私は誰parentが知っているとしましょうが、私は誰が誰かを知りたいと思いchild1ます。どうすればいいですか? 私が自由に使えるツールはいくつかありますが、どのプロセスがソケットの反対側にあるのかを知ることはできません。私が試してみました: lsof -c progname lsof -c parent -c child1 ls -l /proc/$(pidof server)/fd cat /proc/net/unix 基本的に、2つのソケットとそれらに関するすべてを見ることができますが、それらが接続されていることはわかりません。親のどのFDがどの子プロセスと通信しているかを判断しようとしています。

2
lsofおよびリスニングポート
Mac OS Xでネットワーク接続をリッスンするすべてのプロセスを取得しようとしnetstatてい-pます。オプションがなく、lsofを使用しています。 lsof -i -sTCP:LISTEN リスニングプロセスの公正なリストを提供しますが、すべてではありません。たとえば、接続をリッスンするプロセスがあるポート10080にtelnetで接続できますが、これはの出力には表示されませんlsof。私は何が欠けていますか? $ telnet localhost 10080 Trying ::1... Connected to localhost. Escape character is '^]'. ^] telnet> Connection closed. しかし $ sudo lsof -n -i | grep 10080 $
50 osx  lsof 

1
プロセスの開いているファイルをリアルタイムで監視するにはどうすればよいですか?
Linuxマシンlsof でその時点で使用しているプロセスの開いているファイルを表示できることを知っています。ただし、プロセスはファイルを非常に迅速に開いたり、変更したり閉じたりすることができるためwatch、「Linuxで開いているプロセスファイルを監視する(リアルタイム)」で説明されているように、標準のシェルスクリプト(たとえば)を使用して監視すると表示できません。 だから、私はプロセスを監査する簡単な方法を探していて、それが時間の経過とともに何をしてきたかを見ると思います。監査を開始せずにプロセスを実行する時間をとる前に、どのネットワーク接続(試行)が行われたかを確認し、監査を開始できるようにすることもできれば素晴らしいことです。 理想的には、私はこれをしたいと思います: sh $ audit-lsof /path/to/executable 4530.848254 OPEN read /etc/myconfig 4530.848260 OPEN write /var/log/mylog.log 4540.345986 OPEN read /home/gert/.ssh/id_rsa <-- suspicious 4540.650345 OPEN socket TCP ::1:34895 -> 1.2.3.4:80 | [...] 4541.023485 CLOSE /home/gert/.ssh/id_rsa <-- would have missed 4541.023485 CLOSE socket TCP ::1:34895 -> 1.2.3.4:80 | this when polling straceすべてのシステムコールを表示しないフラグといくつかのフラグを使用してこれは可能でしょうか?

3
lsofコマンドのこの出力を解釈する方法は?
root@host [/home2]# lsof /home2 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME php 3182 ctxmortg cwd DIR 8,17 4096 32858196 /home2/ctxmortg/public_html/hello php 3182 ctxmortg 3r REG 8,17 46404 55781766 /home2/ctxmortg/public_html/hello/cache/subprimemortgagemorgage.com/cache-zch-8284-cache.txt php 3185 ctxmortg cwd DIR 8,17 4096 32858196 /home2/ctxmortg/public_html/hello php 3185 ctxmortg 3r REG 8,17 4185 35962154 /home2/ctxmortg/public_html/hello/cache/curl/http%3A%2F%2Fimage.yahoo.cn%2Fs%3Fq%3DNudity%26c%3D0%26s%3D%26page%3D277 php …
33 lsof 

6
開いたままになっている削除済みファイルからディスク領域を解放する最良の方法
こんにちは私は削除された多くのファイルを持っていますが、何らかの理由で、削除されたファイルに関連付けられたディスクスペースは、ディスクスペースを取得しているファイルのプロセスを明示的に終了するまで利用できません $ lsof /tmp/ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME cron 1623 root 5u REG 0,21 0 395919638 /tmp/tmpfPagTZ4 (deleted) 上記の削除されたファイルによって占有されるディスク容量は、タブキーを使用してファイルパスをオートコンプリートしようとするとエラーが発生するなどの問題を引き起こします bash: cannot create temp file for here-document: No space left on device しかし、実行しkill -9 1623た後、そのPIDのスペースが解放され、エラーが発生しなくなりました。 私の質問は: ファイルが最初に削除されたときにこのスペースがすぐに解放されないのはなぜですか? 削除されたファイルに関連付けられたファイルスペースを取り戻すための最良の方法は何ですか? また、私が使用した誤った用語や、この状況に関するその他の関連情報および関連情報をお知らせください。


3
RAMにロードされたプロセスによってファイルが開かれていますか?
たとえばsed、コマンドはプログラムであり、プログラムはファイル内の体系化されたロジックであり、これらのファイルはハードディスク上のどこかにあります。ただし、コマンドの実行中は、ハードディスクからファイルのコピーがRAMに入れられ、RAMに命が吹き込まれ、処理を行うことができ、プロセスと呼ばれます。 プロセスは他のファイルを利用したり、それらに読み書きしたりすることができ、それらを行う場合、それらのファイルはオープンファイルと呼ばれます。実行中のすべてのプロセスによって、開いているすべてのファイルを一覧表示するコマンドがありますlsof。 OK、だから私が疑問に思うのは、コマンドの二重の寿命、1つはハードディスク上、もう1つはRAM上でも、他の種類のファイル、たとえばロジックがプログラムされていないが単にデータ。 私の想定では、プロセスによって開かれたファイルもRAMに読み込まれます。それが本当かどうかはわかりません、それは単なる直観です。 誰かがそれを理解できますか?
24 files  memory  lsof 

1
lsofを使用してファイルを継続的に監視する
lsofを継続的に動作させて、リアルタイムで開かれているすべてのファイルを監視する方法はありますか? プロセスの名前がわかりません。リストに必要なものが表示されるまで、lsofを一定期間継続して動作させます。
23 files  lsof 

6
「lsof」コマンドの代替手段?
多くの場合、「lsof」は作業する必要のあるマシンにはインストールされませんが、lsofの「機能」が非常に必要になります(AIXなど)。:\ Windows以外の世界に「lsof」のようなアプリケーションはありますか? 更新:例:「/ home / username」ディレクトリを使用するプロセスを知る必要がありますか?

5
AIXでは、ポートにバインドされたプログラムのフルパスを取得するにはどうすればよいですか?
Linuxでは、次のようにnetstat -tulpnwand を使用できますps。 # netstat -tulpnw | grep :53 tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1482/named udp 0 0 127.0.0.1:53 0.0.0.0:* 1482/named # ps aux | fgrep 1482 named 1482 0.0 1.0 93656 44900 ? Ssl Sep06 3:17 /usr/sbin/named -u named root 20221 0.0 0.0 4144 552 pts/0 R+ 21:09 …
14 process  aix  socket  lsof  netstat 


4
パッケージをアップグレードした後、再マウント/読み取り専用に戻すことができません
Debian Stretchを使用しています。ルートパーティションがマウントされていread-onlyます。私はパッケージをインストールまたはアップグレードする場合にのみ、され/に再マウントread-write(aptのフックを使用することによって)、その後にバックを再マウントro。 パッケージのアップグレード後/、読み取り専用に再マウントできないことがあります。 mount -o remount,ro / mount: / is busy 古いDebianバージョン(Wheezy)では、リンク解除された開いているファイルを一覧表示できましたlsof。 lsof +L1 または、より具体的には、/roに再マウントされないようにするファイル: { lsof +L1 ; lsof|sed -n '/SYSV/d; /DEL|(path /p;' ; } | grep -Ev '/(dev|home|tmp|var)' ただし、Debian Stretchでは、lsof +L1ファイルはリストされません。 私はへの変更が表示されない+|-Lでman lsof、それが働いて停止した理由を説明します。 lsof + L1がリンク解除された開いているファイルをリストしないのはなぜですか? /が読み取り専用に再マウントされないようにするファイルをリストするにはどうすればよいですか? 更新 私は停止することができるすべてのプロセスを停止している、とだけ持っているinitとgetty、まだ実行されているが、私はまだない再マウントすることができます/しますro。
13 debian  files  apt  readonly  lsof 

4
lsof -p PID vs lsof | grep PID
lsofコマンドの出力がわかりません。 私が書くとき lsof -p PID 私は4行を得て、書くとき lsof | grep PID 何百行もあります。 同じ結果を返すべきではないでしょうか? ご回答ありがとうございます。出力は次のとおりです。それはサブプロセスのように見えますか、このタスクの意味は何ですか? lsof -p 29076 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 29076 pr cwd unknown /proc/29076/cwd (readlink: Permission denied) java 29076 pr rtd unknown /proc/29076/root (readlink: Permission denied) java 29076 pr txt unknown /proc/29076/exe (readlink: …
12 process  lsof 

2
ファイルを移動しますが、閉じている場合のみ
外部プロセスで作成された大きなファイルを閉じたらすぐに移動したい。 このテストコマンドは正しいですか? if lsof "/file/name" then # file is open, don't touch it! else if [ 1 -eq $? ] then # file is closed mv /file/name /other/file/name else # lsof failed for some other reason fi fi 編集:ファイルはデータセットを表しており、別のプログラムが動作できるように、移動が完了するまで待つ必要があります。そのため、外部プロセスがファイルで行われたかどうかを知る必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.