开发者社区> 问答> 正文

Linux关机时无法发送网络请求?linux 关机时还能发送网络请求吗?

通过截获系统关机给进程发送的SIGTERM信号,然后给服务端发送网络请求;此时网络服务已然关闭,无法发送成功。
有没有什么办法在linux关机前发送网络通信请求?

展开
收起
杨冬芳 2016-07-18 14:22:01 4156 0
3 条回答
写回答
取消 提交回答
  • 如果关机是硬关机,也就是直接关闭电源,你是没有办法发送任何网络请求的。 如果关机是软关机,用户可以在shutdown等命令上挂钩子,在执行到函数时发送网络请求。

    提这个问题本身,可能想监控机器的状态,如果是那样的话,不如使用外部的pingmesh来探测。

    2020-03-28 14:29:45
    赞同 展开评论 打赏
  • 不知道题主基于哪个发行版本,提供一个思路可供参考
    查找下对应发行版本的Runlevel
    不同的等级对应不同的指令,然后写入脚本,在对应指令执行时,就会依次按照固定规则(重点)执行脚本
    如果想要在网络关闭之前执行脚本,则该脚本的规则排序应该在网络控制脚本之前

    2019-07-17 19:57:51
    赞同 展开评论 打赏
  • IT从业

    由于linux关机命令的优先级别是很高,你要实现这个功能,理论上需要设置一个更高级别的进程来监听关机进程。住:本人没有试验过,请楼主实践求知
    关机时,你的程序已经对系统没有多少控制了。处理时机不受控制。你应该服务器设置超时等判断客户端被关机了

    可以编写一个内核模块,通过register_reboot_notifier注册一个网络请求的函数,系统在reboot/shutdown/halt的时候,会调用到你注册的钩子函数。

    2019-07-17 19:57:51
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Session:更加安全、可靠的数据中心网络产品更新 立即下载
Session:极简易用的全球化网络产品更新 立即下载
Session:弹性、高可用、可观测的应用交付网络产品更新 立即下载