2016-03-03 32 views
0

是否有可能獲得完整流程的最後一個工作目錄?例如:我們分叉了一個進程,等待它完成,獲得一個退出代碼和一些輸出,現在我們要檢查進程所在的最後一個工作目錄。獲取完成流程的最後一個工作目錄

我們的應用程序是用OCaml編寫的,所以這裏大致相當的代碼:

open Core.Std 

let pinfo = Unix.create_process ~prog:"/bin/sh" ~args:["-c"; "cd ~/foo/bar"] in 
let open Unix.Process_info in 
let _ = Unix.waitpid pinfo.pid in 
(* what was the last working directory of pinfo.pid? *) 

任何建議,不管OCaml具體與否,將不勝感激!此外,可以在MacOSX和Linux上運行的解決方案將更可取。

回答

0

我不認爲Linux內核提供這些信息。如果應用程序是黑匣子,則可能使用LD_PRELOADstrace跟蹤chdir()調用。

相關問題