C调用系统命令ping崩溃日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: C调用系统命令ping崩溃日志

吾用ping测试,结果崩溃了,而且莫名其妙的.难道是晚上跑,内存用光了?

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./gh_manager thread false 1'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  malloc_consolidate (av=av@entry=0x7f8af8000020) at malloc.c:4167
4167  malloc.c: 没有那个文件或目录.
[Current thread is 1 (Thread 0x7f8ba1fff700 (LWP 25566))]
(gdb) backtrace
#0  malloc_consolidate (av=av@entry=0x7f8af8000020) at malloc.c:4167
#1  0x00007f8c5ec95cde in _int_malloc (av=av@entry=0x7f8af8000020, 
    bytes=bytes@entry=4096) at malloc.c:3450
#2  0x00007f8c5ec98184 in __GI___libc_malloc (bytes=bytes@entry=4096)
    at malloc.c:2913
#3  0x00007f8c5ec811d5 in __GI__IO_file_doallocate (fp=0x7f8af8000a00)
    at filedoalloc.c:127
#4  0x00007f8c5ec8f594 in __GI__IO_doallocbuf (fp=fp@entry=0x7f8af8000a00)
    at genops.c:398
#5  0x00007f8c5ec8e69c in _IO_new_file_underflow (fp=0x7f8af8000a00)
    at fileops.c:556
#6  0x00007f8c5ec8f60e in __GI__IO_default_uflow (fp=0x7f8af8000a00)
    at genops.c:413
#7  0x00007f8c5ec82c6a in __GI__IO_getline_info (fp=fp@entry=0x7f8af8000a00, 
    buf=buf@entry=0x7f8ba1ffd080 "ping -c 1 192.168.1.104", n=1023, 
    delim=delim@entry=10, extract_delim=extract_delim@entry=1, 
    eof=eof@entry=0x0) at iogetline.c:60
#8  0x00007f8c5ec82d78 in __GI__IO_getline (fp=fp@entry=0x7f8af8000a00, 
    buf=buf@entry=0x7f8ba1ffd080 "ping -c 1 192.168.1.104", 
    n=<optimized out>, delim=delim@entry=10, 
    extract_delim=extract_delim@entry=1) at iogetline.c:34
#9  0x00007f8c5ec81b7d in _IO_fgets (
    buf=0x7f8ba1ffd080 "ping -c 1 192.168.1.104", n=<optimized out>, 
---Type <return> to continue, or q <return> to quit---
    fp=0x7f8af8000a00) at iofgets.c:53
#10 0x00007f8c5ea10431 in ping_ip (ip=0x7f8ba1ffd530 "192.168.1.104")
    at gh_kit.cpp:88

解决办法:

  读取ping的结果时,不要用gets(),而是通过>输出到文件,然后读取这个文件。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
Linux
LINUX使用C执行系统命令ping,读取执行结果的崩溃日志
LINUX使用C执行系统命令ping,读取执行结果的崩溃日志
198 0
|
1天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
35 20
|
28天前
|
Linux iOS开发 网络架构
如何使用 Ping 命令监测网络丢包情况?
如何使用 Ping 命令监测网络丢包情况?
105 48
|
28天前
|
Linux iOS开发 MacOS
如何设置 Ping 命令的超时时间?
如何设置 Ping 命令的超时时间?
82 2
|
1月前
|
运维 监控 Linux
别再只会使用简单的 ping 命令了,Linux 中这些高级 ping 命令可以提高工作效率!
在 Linux 系统中,ping 命令不仅用于检测网络连通性和延迟,还拥有多种高级选项和技巧,如定制数据包大小、获取详细统计信息、持续 ping、指定源地址和多目标 ping。本文详细介绍这些高级命令及其在性能测试、故障排查和网络监控中的实际应用,帮助你提升网络管理效率。
112 3
|
28天前
|
Linux 网络安全 Android开发
高级 ping 命令及技巧
Ping命令是一种常用的网络诊断工具,用于测试网络连接的可达性和延迟等信息
69 1
|
1月前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
74 3
|
2月前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
180 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
|
2月前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
|
4月前
|
监控 网络协议 JavaScript
tcping和ping命令
【8月更文挑战第2天】`tcping` 是一款基于 TCP 协议的网络测试工具,不同于传统的 `ping` 命令使用 ICMP 协议,`tcping` 通过尝试与目标主机的特定端口建立 TCP 连接来检查网络连通性和端口状态。这使其在一些禁用了 ICMP 的网络环境中特别有用。`
136 3
tcping和ping命令