在Cocoa应用程序退出之前确保Objective-C代码执行

在Cocoa应用程序退出之前确保Objective-C代码执行,第1张

概述假设 cocoa应用程序必须在退出之前执行一些非常重要的 objective-c *** 作(出于任何原因 – 崩溃或退出). 是否可以确保执行任意Objective-c代码以响应每个崩溃事件? (SIGINT,SIGBUS,SIGSEGV等,忽略“uncatchables”(SIGSTOP,SIGKILL,闪电等)) It would be helpful to know what your hooks 假设 cocoa应用程序必须在退出之前执行一些非常重要的 objective-c *** 作(出于任何原因 – 崩溃或退出).

是否可以确保执行任意Objective-c代码以响应每个崩溃事件? (SIGINT,SIGBUS,SIGSEGV等,忽略“uncatchables”(SIGStop,SIGKILL,闪电等))

It would be helpful to kNow what your hooks are trying to do.

例如:假设要让应用程序运行,它绝对必须更改某个可变系统范围配置变量X的值.在启动时,应用程序会获取X当前状态的快照,然后对其进行修改.当应用程序成功退出时,它只会在终止之前将X恢复为隐藏的原始值.我的问题是:即使应用程序崩溃,是否可以确保X得到恢复?

解决方法 最简洁的答案是不.

更长的答案仍然没有,但您可以最大限度地减少无法重置系统范围的可变配置变量的机会.概述:

>在启动时让您的应用程序产生一个不露面的后台进程;
>不露面的后台进程应该改变你的变量,然后等待(如在wait(2)& frIEnds中),直到它的父进程到期为止;
>在其父项到期时,它会重置变量,然后自行过期.

你的匿名背景应用程序应该简短,因此很有希望.它远非万无一失,或者对于想要杀婴的用户安全,但它缩小了阻止变量重置的机会.

总结

以上是内存溢出为你收集整理的在Cocoa应用程序退出之前确保Objective-C代码执行全部内容,希望文章能够帮你解决在Cocoa应用程序退出之前确保Objective-C代码执行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1013802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存