监控流程的开始和结束?

时间:2011-09-26 09:51:07

标签: macos cocoa process macos-carbon dylib

有没有办法在Mac OS X开始之前监控它们的流程&结束?

我有一个动态,我想在开始之前在几个选定的进程中注入,以便可以执行挂钩。并且当应用程序退出时,即在应用程序退出时,我希望从这些进程中卸载该库,并且反之亦然。从而进行脱钩。

对我的情况有什么最好的解决方案?

2 个答案:

答案 0 :(得分:1)

在Carbon中,您可以注册kEventClassApplication/kEventAppLaunched事件。对于戒烟,我认为寻找一个事件可能不是最好的方法;在流程实际结束之前,您可能无法及时回复。让注入的代码安装atexit处理程序或其他东西可能更好。

答案 1 :(得分:0)

当应用程序退出时,它会自动从这些进程中卸载该库。我有一个错误,阻止从dylib调用析构函数。