2016-03-03 8 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_PRELOAD или strace для отслеживания звонков chdir().

Смежные вопросы