我正在尝试控制使用c ++编写的进程 使用Windows C#用户界面
首先我运行流程
private void button1_Click(object sender, EventArgs e)
{
Process myProcess = new Process();
myProcess.StartInfo.FileName = "filepath.exe";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
}
这将运行流程
现在我跑了一段时间之后我想终止它 使用:
process.Kill();
但是,就像我希望它生成的Ping
命令一样
一些结果,将它们写入文件然后杀死
那么有没有办法找出另一个进程是否试图杀死 这个过程让我把它引导到写文件函数
答案 0 :(得分:1)
每当你杀死一个进程时,你实际上都在向它发送一个信号(最有可能是SIGKILL),所以你需要做的就是为那个特定的信号分配一个信号处理程序,或者你可以有几个相同的信号:
signal(SIGTERM, &terminateSigHandler);
signal(SIGKILL, &terminateSigHandler);
etc..
答案 1 :(得分:0)
正如@Alex Farber在评论中提到的那样,Process.Kill
无法在杀死程序之前执行任何操作。
在这种情况下,我会亲自编写一个执行任何操作的函数,然后会终止该过程。
示例:
private void killProcess()
{
[execute code here prior to killing the process]
process.Kill();
}