- Регистрация
- 21.04.2016
- Сообщения
- 2 312
- Благодарностей
- 1 191
- Баллы
- 113
Написал сниппет, который выполняет действие в командной строке с файлом, затем добавил код:
В итоге когда действие с файлом завершено, я пытался многими способами избавиться от того, что командная строка ещё взаимодействует с файлом, но у меня никак не получилось.
Dispose(), kill(), close() - ничего из этого не помогает и программа ещё числится живой (хотя через 500 мс уже не взаимодействует). Как вообще можно заставить программу избавиться от того, что она ещё работает с файлом без паузы, а то не доверяю паузам.
P.S. проблема осложняется тем, что командная строка, запускающая программу, выполняющие все действия с файлами может запускать её в многопотоке и поэтому убивать сами процессы, которые выполняют действия с файлом в многопотоке не получится.
Код:
string alal = null;
do
{
try
{
alal = Convert.ToString(cmd.ExitTime);
}
catch
{
System.Threading.Thread.Sleep(100);
}
}
while (alal!= null);
Dispose(), kill(), close() - ничего из этого не помогает и программа ещё числится живой (хотя через 500 мс уже не взаимодействует). Как вообще можно заставить программу избавиться от того, что она ещё работает с файлом без паузы, а то не доверяю паузам.
P.S. проблема осложняется тем, что командная строка, запускающая программу, выполняющие все действия с файлами может запускать её в многопотоке и поэтому убивать сами процессы, которые выполняют действия с файлом в многопотоке не получится.
Последнее редактирование: