C# 如何在Python中捕获ApplicationExit?

C# 如何在Python中捕获ApplicationExit?,c#,python,winforms,C#,Python,Winforms,我正在尝试编写一个python应用程序,该应用程序在本地自定义程序的控制下运行,该程序从unix.NET process monitor/launcher/killer进行了糟糕的移植 开始这个过程很好。终止进程是可行的,但它是不干净的,并且没有调用任何python清理 要求过程监视器终止特定PID,并且基本上执行以下操作: process = Process.GetProcessById(pid); process.Kill() 抱歉,如果这没有意义,我是一个Unix极客,真的不是一个C程序

我正在尝试编写一个python应用程序,该应用程序在本地自定义程序的控制下运行,该程序从unix.NET process monitor/launcher/killer进行了糟糕的移植

开始这个过程很好。终止进程是可行的,但它是不干净的,并且没有调用任何python清理

要求过程监视器终止特定PID,并且基本上执行以下操作:

process = Process.GetProcessById(pid);
process.Kill()
抱歉,如果这没有意义,我是一个Unix极客,真的不是一个C程序员

C应用程序可以在Forms.Application.ApplicationExit事件上注册处理程序,并捕获要清理的退出事件。在Python2.7下如何实现同样的功能?信号模块似乎没有捕捉到这一点

作为替代方案,我可能可以修改process killer,以一种对Python来说更为舒适的方式结束流程,例如,可以通过信号捕获,如果您可以建议如何完成的话


还是我对Windows python应用要求太高了?

你的python代码在哪里?它到底有什么问题?我已经尝试了signal.signal fi或所有已知的signals和atexit.register-如果脚本从cmd行运行并以^C终止,这两种方法都有效,但当进程从启动器运行并终止时,两者都不会被调用。