2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mac の /tmpの片隅で、誰にも知られず生成されるファイル zeb_def_ipc_ への短い考察

2
Last updated at Posted at 2026-02-27

はじめに

ある日、僕は /tmp ディレクトリの中に、見覚えのないファイル群を見つけた。

  • zeb_def_ipc_16353
  • zeb_def_ipc_1811
  • zeb_def_ipc_18916

派手な名前でもなく、意味ありげな拡張子でもない。ただ、そこに「ある」。
まるで、終電後の駅のベンチに静かに座っている人のように。

  • なぜここにあるのか
  • 誰が作ったのか
  • そして、なぜ今この瞬間に存在しているのか

こういう疑問は、たいてい放っておけば自然に消える。再起動すれば /tmp の中身はすっきりするし、日常生活に実害はない。世界はだいたいの場合、説明がなくても回っていく。

この文章は、Mac の /tmp の片隅で、誰にも知られず生成されるファイルをめぐる、
ささやかな観察記録であり、犯人探しというほど大げさなものではありません。

けれど、ファイルが生まれるその瞬間には、必ず誰かの――いや、何かの意志がある。
その気配を、ほんの少しだけ、覗いてみたいと思った人の備忘録になります。

fs_usage とは?(macOS標準の監視ツール)

fs_usage は、macOS に標準搭載されているリアルタイム監視ツールで、
ファイルシステムのアクティビティに関連するシステムコールの
使用統計情報を継続的に表示します。

デフォルトでは、システム上で現在実行中の
すべてのプロセス(プロセスfs_usage自身を含む)が対象となります。

何がわかるのか?

fs_usage を使うと、次のような情報が分かります。

どのプロセスが

  • どのファイルに対して
  • どんな操作をしたのか
  • いつ実行されたのか
    のような、今この瞬間、何がどのファイルを触っているかを可視化するツールです。

どんな時に役立つ?

下記のようなケースの調査で役立ちます。

  • 謎なファイルが生成された時
  • 大きなプロダクトのビルドした時
  • 複数のコマンドをまとめて実行をする時 (make)

基本コマンド

基本コマンドは下記です

sudo fs_usage

root で実行する必要があり、rootで実行しない場合は、
下記のようなエラーが発生します。

'fs_usage' must be run as root...

オプション

オプションについてはよく使うものだけ解説します。

-f フィルタ指定

監視対象のカテゴリを絞り込みます。

指定の仕方 意味
-f filesys ファイルシステムのみ表示
-f network ネットワークのみ表示
-f diskio ディスクI/Oのみ表示
-f exec 実行及び生成イベントのみ表示
-f pathname パス名に関連するイベントのみ表示
-f cachehit キャッシュヒットも表示
sudo fs_usage -f filesys

-w ワイド表示

出力が長いと省略されるのですが、
このオプションがあれば省略せずフル表示になります。

sudo fs_usage -w

-e 除外

Finder のイベントを除外

sudo fs_usage -e Finder

番外: grep と組み合わせ

明らかに気になる組み合わせがある場合は
下記のように grep と組み合わせて使うと実務上はスッキリします。

sudo fs_usage -w -f filesys | grep hoge

原因の特定

では先程までのオプションを含め下記のように実行してみましょう。

sudo fs_usage -f filesys | grep /tmp/zeb

しかし、待てど暮らせど /tmp/zeb は現れません。

・・・

そうです。このコマンドはリアルタイム監視なので、
リアルタイムに更新がないと判別がつきません \(^o^)/オワタ

そういう時はファイルのタイムスタンプを見てみましょう。

/tmp % ls -la | grep zeb_def_ipc_95016
srwxr-xr-x   1 test-user  wheel     0  2 27 10:31 zeb_def_ipc_95016

該当時間に更新されてるとすると下記も考えられます。

  1. 該当時間に起動しており、今起動していないものを探す
  2. 裏で動いているソフトの場合定期実行しているので翌日のその時間に回す

私の場合は前者でした。
再度 fs_usage を起動します。

sudo fs_usage -f filesys | grep /tmp/zeb

そしてzoomを起動します。出ました…
そう、犯人はzoom でした。

11:35:56  unlink            private/tmp/zeb_def_ipc_37109                                                    0.000163   zoom.us

出力の見方

先程の出力は下記のように見ることができます。

出力 意味
11:35:56 イベントが発生した時刻。
unlink システムコールの種類
private/tmp/zeb_def_ipc_37109 対象パス
0.000163 処理時間
zoom.us その操作を実行したプロセス名

つまり,11:35:56に、Zoomが /private/tmp/zeb_def_ipc_37109 を
unlinkしたということがわかります。真実はいつもひとつ!

後書き

今回の主役だった zeb_def_ipc_xxxxx も、悪意のある何かではなく、
ただ Zoom が内部で使うファイルのようでした。
役目を終えれば消え、再起動すれば跡形もなくなる、
舞台裏のスタッフのような存在です。

けれど大切なのは、「正体」そのものよりも、
どうやって確かめたか という過程にあります。

  • 思い込みで削除しない
  • 不安を放置しない
  • まず観察する
  • そして、ログを見る

fs_usage のようなツールは、
派手ではありませんが、確実に「今この瞬間の真実」を見せてくれます。

エンジニアリングの多くは、壮大な設計よりも、
こうした小さな違和感への好奇心から始まります。

  • 「なぜここにあるのか?」

その問いを、面倒くさがらずに追いかけられるかどうか。
それが、システムを“使う側”から“理解する側”へと
一歩進む分岐点なのかもしれません。

もしあなたの /tmp にも、
見覚えのない誰かが静かに座っていたら
慌てず、削除せず、まずは観察してみてください。

そこにはきっと、あなたの知らなかったもう一つの舞台裏が
広がっているかもしれません。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?