30得票2回答
如何在Python中查找exit code或原因,当调用atexit回调时?

我想知道Python脚本是否正确终止。为此,我正在使用atexit。但问题是我不知道如何区分atexit是使用sys.exit(0)、非零值或异常调用的。 原因是:如果程序正常结束,它什么也不会做,但如果程序由于异常或返回非零错误代码(退出状态)而结束,我想触发一些操作。 如果你想知道为什...

24得票4回答
当Python进程被终止时运行atexit()函数

我有一个在后台运行的Python进程,我希望它只在脚本终止时生成一些输出。def handle_exit(): print('\nAll files saved in ' + directory) generate_output() atexit.register(handl...

24得票1回答
C++中全局对象的销毁顺序和atexit函数的调用顺序是怎样的?

我想知道在C++中全局对象的销毁和atexit函数之间是否可以确定顺序。 我有一个全局对象,并注册了atexit函数,如下所示:static MyClass g_class; void onExit() { // do some destruction } int main() ...

23得票1回答
dlclose() 不会调用全局对象的析构函数

插件1.cpp:#include <iostream> static class TestStatic { public: TestStatic() { std::cout << "TestStatic create" << std::end...

22得票1回答
Python进程无法调用atexit函数

我正在尝试在Process中使用atexit,但不幸的是它似乎无法正常工作。以下是一些示例代码:import time import atexit import logging import multiprocessing logging.basicConfig(level=logging....

18得票2回答
Python多进程atexit错误 "Error in atexit._run_exitfuncs"

我正在尝试在Python中运行一个简单的多进程应用程序。主线程生成1到N个进程,并等待它们完成处理。这些进程每个都运行一个无限循环,因此它们有可能会一直运行下去而不需要用户干预,因此我加入了一些代码来处理KeyboardInterrupt:#!/usr/bin/env python impor...

17得票2回答
Ruby的at_exit和退出状态

我能否在 at_exit 块中确定自身进程的退出状态?at_exit do if this_process_status.success? print 'Success' else print 'Failure' end end

15得票2回答
如何在Python的多进程子进程中注册“atexit”函数?

我有一些子进程(使用多进程),当它们停止时,每个都需要做一些最终工作。就像以下示例一样,尽管没有起作用...import multiprocessing import atexit def final(): print "final work" def worker(): ...

14得票3回答
如何使用atexit()注册非空函数?

我想注册一个返回 int 的函数,使用 atexit() 函数在程序结束时调用它(具体来说是 ncurses 库的 endwin() 函数)。 但由于 atexit() 需要一个指向 void 函数的指针,所以我遇到了问题。我尝试了以下方法:static_cast<void (*)()...

14得票2回答
我能否撤销或删除一个 atexit 命令?

如果我将atexit(fn);放置在退出堆栈上,当程序退出时它将被执行:从 main() 返回或通过 exit() 退出。 我可以将其从堆栈中移除吗? 你会问我为什么要这样做? 我正在使用 atexit、setjmp 和 longjmp 进行简单的 try-catch 机制实验。如果我能...