使用Lwt函数很容易从特定目录启动进程Sys.getpwd
,Lwt_unix.chdir
并且Lwt_process.exec
:
- 用于
Sys.getpwd
保存当前工作目录 - 用于
Lwt_unix.chdir
切换到特定目录 - 用于
Lwt_process.exec
启动外部进程 - 用于
Lwt_unix.chdir
切换到保存的当前工作目录
这个逻辑是有缺陷的,因为它允许调度程序在第一次调用Lwt_unix.chdir
之后和调用之后运行另一个线程,Lwt_process.exec
这将导致该线程在特殊目录中运行,而不是在保存的当前目录中运行。是否可以使用Lwt从特殊目录轻松启动进程,而无需引入我所描述的竞争条件?