web-dev-qa-db-ja.com

comptonを空きディレクトリに強制する

comptonがサブディレクトリを開いたままにしているため、ファイルシステムの通知を取り消すのに苦労することがよくあります。

これがlsofからの1行です。

compton   30043            valmi  cwd       DIR              254,0    32768       7485 /media/truecrypt1/videos

このディレクトリで何が行われているのか、私は一生理解できません(他のプロセスでは使用されておらず、bash以外のアプリケーションで開かれたこともありません)。

これまでのところ、これが発生したときは常にXを再起動することになりましたが、comptonにディレクトリを解放する必要があることを理解させる方法、または慰めとしてそれが何であるかを教えてくれる人が欲しいです。それでやっています。

これに関連する場合、これはDebian安定版のcompton-git 20121102-2であり、3.5.0-7およびすべてが最新です。

2
scozy

lsofの出力の4番目の列は、このディレクトリがプロセスの現在の作業ディレクトリ(cwd)であることを示しています。おそらくcomptonはこのディレクトリで開始されました。おそらく、プロセスを強制終了して、別のディレクトリで再起動する可能性があります(例:/)。

あなたはかもしれませんこのハックでディレクトリを離れるように強制しようとします:

  1. 発行してプロセスにGDBをアタッチします

     $ gdb -p <pid>
    

    どこ <pid>はプロセスのPIDになり、

  2. gdbの問題の内部

    > p chdir("/")
    > detach
    > quit
    

$および>はそれぞれのプログラムのプロンプトです。

注:comptonがこのディレクトリにいる特別な理由がある場合、これは単に恐ろしい方法でプロセスをクラッシュさせる可能性があります。 comptonのソースコードに、意図的に存在することを示唆する呼び出しは見つかりませんでしたが、警告が表示されます。一方…これもあなたの問題を解決するでしょう。 ;)

4
Andreas Wiese