UseShellExecute를 false로 설정하고 파일 삭제를 허용하는 C#에서 하위 프로세스를 호출하려면 어떻게해야합니까?자식 프로세스 내에서 파일을 삭제할 수 없다 C# App
자식 프로세스는 0 바이트 파일을 생성하여 원격 서버로 전송하고 삭제합니다. 이 기능은 Windows 명령 행에서 Java 프로그램을 실행할 때 작동합니다.
StartInfo.UseShellExecute를 false로 설정하여 System.Diagnostics.Process 인스턴스를 사용하여 C#에서 java 프로그램을 호출하면 자식 프로세스가 파일을 삭제하지 않습니다. 사실, 처리가 중지되고 아무 일도 일어나지 않습니다. Process 개체의 StartInfo.UseShellExecute 속성이 true로 설정되면 자식 프로세스가 파일을 삭제할 수 있으며 부모 프로세스의 실행이 진행됩니다. 그러나 UseShellExecute 속성을 false로 설정해야 자식 프로세스의 출력을 리디렉션 할 수 있습니다.
Java 프로세스가 파일 삭제에 도달하기 전에 스톨 중임을 발견했습니다. 자세한 내용은 아래 Tim의 답변에 대한 내 의견을 참조하십시오. 내가 가지고있는 새로운 정보를 바탕으로이 게시물을 삭제해야합니까? – ecruz3
문제가 파일 삭제와 관련이없는 경우 질문이 더 이상 정확하지 않습니다. 당신은 단지 그것을 편집 할 수는 있지만, 완전히 바꿀 것이기 때문에 그냥 삭제하고 새로운 것을 만들어서 "새로운"섹션에 나타나게하는 것이 낫습니다. –