Я пытаюсь открыть файл, используя процесс на С#, но после этого файл работает.
Это не конец диспетчера задач.
Я запускаю это по потоку
как я могу убить fping.exe из диспетчера задач через определенное время
Process cmd = new Process();
cmd.StartInfo.WorkingDirectory = currentDirectory;
cmd.StartInfo.FileName = Directory.GetCurrentDirectory() + "/fping.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.Arguments = pingcmd;
cmd.Start();
Когда вы закончите работу с классом Process, вы должны избавиться от него. Чтобы избавиться от типа напрямую, вызовите его метод Dispose в блоке try/finally. Чтобы избавиться от него косвенно, используйте языковую конструкцию, такую как использование
Вот пример с с использованием
using(Process cmd = new Process()){
cmd.StartInfo.WorkingDirectory = currentDirectory;
cmd.StartInfo.FileName = Directory.GetCurrentDirectory() + "/fping.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.Arguments = pingcmd;
cmd.Start();
}
У нас есть проблема, что иногда fping.exe перестает работать без причины, поэтому он не может завершить свою работу.
Проверьте ссылку омегакодер.com/?p=119. Пост объяснил более подробно о процессе.
Вы пытались использовать cmd.Kill()?