找出某個process 的執行檔所在資料夾位置

在 Ubuntu 上要找出某個 process 的執行檔所在資料夾位置,可以透過 /proc 目錄來查詢。這裡有幾種常用方法:


🛠 方法一:使用 readlink 讀取 /proc/<PID>/exe

  • 每個 process 在 /proc/<PID>/exe 會有一個指向執行檔的符號連結
  • 指令:
    readlink -f /proc/<PID>/exe
    
  • 範例:
    pidof nginx   # 找出 nginx 的 PID
    readlink -f /proc/1234/exe
    
    → 會輸出 /usr/sbin/nginx

🛠 方法二:搭配 dirname 取得資料夾路徑

  • 如果只要執行檔所在的資料夾:
    dirname $(readlink -f /proc/<PID>/exe)
    
  • 範例:
    dirname $(readlink -f /proc/1234/exe)
    
    /usr/sbin

🛠 方法三:使用 ls -l 查看符號連結

  • 直接列出 /proc/<PID>/exe
    ls -l /proc/<PID>/exe
    
  • 會顯示符號連結指向的檔案位置。

🛠 方法四:結合 psawk

  • 如果想直接從 process 名稱查詢:
    ps -C nginx -o pid=
    readlink -f /proc/$(ps -C nginx -o pid=)/exe
    

✅ 總結:
最簡單的方式是用 readlink -f /proc/<PID>/exe,再搭配 dirname 取得資料夾位置。
要不要我幫你整理一份 流程圖,把「輸入 process 名稱 → 找 PID → 找執行檔 → 找資料夾」的步驟視覺化,方便快速查詢?

Also See

File6FileLast Modified
在 Ubuntu 上修改整個目錄所有檔案的使用者在 Ubuntu 上修改整個目錄所有檔案的使用者1:24 AM - December 07, 2025
ubuntu檔案權限與擁有者管理速查表ubuntu檔案權限與擁有者管理速查表1:24 AM - December 07, 2025
Ubuntu刪除整個目錄以及其下所有子目錄和檔案Ubuntu刪除整個目錄以及其下所有子目錄和檔案1:24 AM - December 07, 2025
ubuntu 系統有支援 MFMT 的 FTP serverubuntu 系統有支援 MFMT 的 FTP server1:24 AM - December 07, 2025
Ubuntu 暫時不用每次都輸入sudoUbuntu 暫時不用每次都輸入sudo1:24 AM - December 07, 2025
Ubuntu 上要查詢目前系統有哪些 網域 (domain) 或網路設定Ubuntu 上要查詢目前系統有哪些 網域 (domain) 或網路設定1:24 AM - December 07, 2025