嗨,我有一个用 C 编写的程序。我有全局变量、数组、动态变量以及数组等...我将 SIGHUP 发送到我的程序并在处理程序中清理动态内存。我想用 HUP 重新启动我的程序.有没有办法在c中重新启动程序?我想从 main 退出并返回,以便清理 main 中的静态数组处理的内存并重新启动 main。
你好,我们又见面了。我编辑了信号处理程序并在处理程序中添加了 execv。在处理程序中,我有 2 个功能。首先是 clean_up(); 清理动态数组,第二个是 execv()。发送 HUP 后,首先运行 clean_up,然后运行 execv。但过了一小段时间我有段错误。但是,当我不调用 clean_up 函数时,它工作正常吗?清理有问题吗?但清理适用于其他信号,例如终止信号
还有一个关于 execv 的问题?它不是从 main 启动新程序吗?当我调用 execv 时,它不会再次从 main 启动