关于程序控制,求各位知道的解答一下,谢谢。

holy_pigh 2013-08-14 01:57:03
linux下面的话,我可以用signal之类的控制,比如我kill掉我的程序,程序自身能捕捉SIGTERM信号,我能进行相应的处理,比如还原之前修改的东西。
但对于windows下面,我知道也有signal和几个简单的信号,但是我试了,taskkill的话(貌似windows没有kill把?),SIGTERM信号捕捉不到(SIGINT信号倒是可以)。现在我windows下面的程序需要在程序结束之前把之前修改的文件数据之类的还原回之前的状态,但是进程结束没有相应信号通知,就没还原就退出了,我想知道给位有什么办法吗?

如果我那里描述不好,我会再描述的。
...全文
170 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
但还是想请问有什么方法没。。
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
引用 12 楼 zhao4zhong1 的回复:
直接拔电源或者停电咋办? 地震、海啸咋办?
哦,似乎有些道理。。
赵4老师 2013-08-14
  • 打赏
  • 举报
回复
直接拔电源或者停电咋办? 地震、海啸咋办?
zhctj159 2013-08-14
  • 打赏
  • 举报
回复
使用atexit挂接退出函数,在退出函数中完成文件数据恢复工作
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
再发下我的意思: 程序在任务管理器或CMD中被kill掉,windows是否发送某种信号到被杀进程,如何在进程中捕获这个信号? 若没有办法捕捉到,那有其他方法吗? ps:9楼,你是打酱油的吧?
赵4老师 2013-08-14
  • 打赏
  • 举报
回复
不要企图优雅的结束(因为这是不可能办到的) 而要在烂的不能再烂的摊子上也能重整河山!
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
someone help me pelase!!!
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
可随时退出,比如taskkill掉它。 但是就是不知道怎么样程序才能接受知道即将退出。
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
引用 5 楼 max_min_ 的回复:
[quote=引用 3 楼 holy_pigh 的回复:] [quote=引用 1 楼 max_min_ 的回复:] 不可以在结束之前调用接口来恢复数据的么?
用taskkill的话,收不到SIGTERM,所以没办法跳转到恢复数据的接口,我想知道有什么办法通告程序即将退出。[/quote] 你的程序会异常退出么? 在main的最后加你恢复数据的接口不行么? 另外还有退出执行的函数 atexit,你查查资料看看怎么用,我用了man看了下, atexit函数是退出程序前之前执行的函数[/quote] 你可以把我说的情况看做为异常退出,(程序一直死循环在那边,知道结束到退出信号,跳转至恢复数据接口,处理完成后再退出) 你说的atexit不行,我试过了。。
max_min_ 2013-08-14
  • 打赏
  • 举报
回复
引用 3 楼 holy_pigh 的回复:
[quote=引用 1 楼 max_min_ 的回复:] 不可以在结束之前调用接口来恢复数据的么?
用taskkill的话,收不到SIGTERM,所以没办法跳转到恢复数据的接口,我想知道有什么办法通告程序即将退出。[/quote] 你的程序会异常退出么? 在main的最后加你恢复数据的接口不行么? 另外还有退出执行的函数 atexit,你查查资料看看怎么用,我用了man看了下, atexit函数是退出程序前之前执行的函数
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
在线等~!!!
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:
不可以在结束之前调用接口来恢复数据的么?
用taskkill的话,收不到SIGTERM,所以没办法跳转到恢复数据的接口,我想知道有什么办法通告程序即将退出。
holy_pigh 2013-08-14
  • 打赏
  • 举报
回复
问题是我不知道什么时候结束,程序是一直循环在那边的,直到接受到程序退出的信号,才恢复之前的数据。 关键是如何通告程序,“你要退出了,快把你之前修改的数据还原一下再退出把”。
max_min_ 2013-08-14
  • 打赏
  • 举报
回复
不可以在结束之前调用接口来恢复数据的么?
内容概要:本文围绕基于Basisformer模型的时间序列锂离子电池SOC(State of Charge,荷电状态)预测展开研究,利用PyTorch框架实现深度学习模型的构建与训练。通过将历史充放电数据作为输入,Basisformer能够有效捕捉电池状态的动态变化特征,提升SOC预测精度。文中详细介绍了模型结构设计、数据预处理流程、训练策略及实验结果分析,并与传统方法进行对比,验证了该方法在复杂工况下的优越性与鲁棒性。该研究不仅展示了Basisformer在时序建模中的潜力,也为电池管理系统提供了高精度的状态估计解决方案。; 适合人群:具备一定Python编程基础和深度学习理论知识,熟悉PyTorch框架,从事电池管理系统、新能源汽车或智能预测方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于电动汽车、储能系统等领域的电池SOC高精度实时估算;②为电池健康管理(BMS)提供可靠的状态输入;③推动深度学习在时间序列预测中的实际落地,提升现有预测模型的泛化能力与稳定性; 阅读建议:建议读者结合标题为【锂电池SOC估计】【PyTorch】基于Basisformer时间序列锂离子电池SOC预测研究(python代码实现)的资源,重点研读所提供的Python代码,深入理解数据处理方式与模型网络结构的设计思路,尝试调整超参数以观察对预测性能的影响,从而全面掌握Basisformer在时序建模中的优势、适用边界及工程化实现路径。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧