我有freebsd中正在運行的進程的pid。 如何獲取當前目錄?freebsd:正在運行的進程的當前目錄進程號
3
A
回答
3
你可以得到當前工作目錄的inode編號與
fstat -p $PID
它看起來像lsof的會給你當前工作目錄的人類可讀的形式,但我們不會對任何安裝本地的FreeBSD機器,所以我無法驗證。
-1
/proc/$ PID/cwd包含程序當前工作目錄的符號鏈接。
3
fstat可以找到inode號碼和文件系統,並找到可以找到正確的目錄。
試試這個:
fstat -p $$|perl -ane '$F[3] eq "wd" && system("find",$F[4],"-xdev","-inum",$F[5],"-print");'
當非root身份運行,發現將可能輸出相當多的「權限被拒絕」,用戶可以在$F[3]
前面插入close(STDERR);
(第一後避免信息單引號)。
1
在FreeBSD的更新版本中,可以使用procstat -f $PID
,它顯示路徑名,如果它仍在內核名稱緩存中。
相關問題
- 1. 在當前目錄中列出正在運行的進程
- 2. 除當前進程外正在運行的進程
- 3. linux-kernel中進程的當前目錄
- 4. 在當前正在運行的進程上執行操作
- 5. 運行PHP進程的當前活動
- 6. 正在運行的進程
- 7. 在winRT中檢索當前進程的當前目錄
- 8. 在當前用戶下運行進程
- 9. 如何獲取FreeBSD上當前進程的線程數?
- 10. 控制在球拍中執行子進程的「當前目錄」
- 11. 如何暫停當前正在運行的進程
- 12. 得到當前正在運行的進程
- 13. NSIS - 在運行之前設置進程的工作目錄
- 14. 獲取正在運行的進程的目錄路徑ID
- 15. 在運行時暫停當前進程中的所有線程
- 16. 如何確定當前正在運行哪些進程
- 17. Python檢查當前進程是否正在運行?
- 18. FreeBSD的守護進程庫
- 19. 以編程方式更改進程的當前工作目錄
- 20. 獲取正在運行的進程給定的進程句柄
- 21. 從腳本當前目錄中運行Python中的子進程bash腳本
- 22. 如何檢測當前登錄用戶是否正在運行進程?
- 23. 正在運行的進程的Python REPL
- 24. 殺死一個bash進程不殺bash的當前運行的進程
- 25. 對所有正在運行的進程不顯示進程MainWindowTitle
- 26. WSO2修改正在運行的進程
- 27. 正在運行的進程列表
- 28. 獲取正在運行的進程'dimensions
- 29. 取消正在運行的進程
- 30. c#通知正在運行的進程
需要注意的是`/ proc`文件系統並不一定適用於FreeBSD的所有安裝。 – 2009-07-21 10:47:27
這適用於Linux,但似乎不屬於FreeBSD/proc的一部分。請參閱procfs手冊頁:http://www.freebsd.org/cgi/man.cgi?query=procfs – 2009-07-21 15:10:40