无法删除从C#应用程序启动的子进程中的文件

时间:2009-10-20 19:48:16

标签: c# java file-io

如何在将UseShellExecute设置为false并允许文件删除的情况下从C#调用子进程?

子进程是一个java程序创建一个0字节的文件,将其传输到远程服务器,然后删除它。当我从Windows命令行执行java程序时,此功能有效。

如果我使用将StartInfo.UseShellExecute设置为false的System.Diagnostics.Process实例从C#调用java程序,则子进程不会删除该文件。事实上,处理摊位并没有任何反应。如果Process对象的StartInfo.UseShellExecute属性设置为true,则子进程可以删除该文件,并继续执行父进程。但是,我需要UseShellExecute属性为false,因此我可以重定向子进程的输出。

1 个答案:

答案 0 :(得分:0)

这听起来可能是原因吗?

http://hackage.haskell.org/trac/ghc/ticket/2650

(或者更具体地说,从那里链接的Java issue

前段时间我遇到了类似的问题,结果是由意外的句柄继承引起的,但我不太明白这会导致你描述的问题。