我有一个相当简单的用例:
当前我的代码如下:
try
let createProc =
CreateProcess.fromRawCommand "dotnet" ["run"; "--project"; "FakeProcMvc"]
|> CreateProcess.addOnStarted
(fun _ ->
CreateProcess.fromRawCommand "dotnet" ["run"; "--project"; "FakeProcWriteFile"]
|> Proc.run
|> ignore
)
let procTask =
createProc
|> Proc.start
let tokenSource = new CancellationTokenSource()
procTask.Wait(tokenSource.Token)
tokenSource.Cancel()
with
| Failure msg -> printfn "caught: %A" msg
但这显然不是很正确。文件编写(C#客户端)工作正常,但是我无法停止AspNetCore应用。
取消部分没有任何作用,而且我不知道如何获得对实际过程的某种引用,因此我可以使用Process.kill或类似的东西。