在C++代码中调用系统指令---system()

11 篇文章 1 订阅

我试图使用LTTng-ctl库来控制Trace过程。

我几乎快要成功了。

但是在对event结果提序列化的过程中出现了错误。我缺少给ext_probe extend.prt之类的字段赋值。被断言发现终止程序。

我再次认识到了“有些学习门槛”,这句话的分量。而这些学习门槛对一个面临deadline的人来讲很不友好。

或许之后有时间我会去爬源码,然后重构。

但是对demo来讲,用在测试环境下。那我就祭出了system()。当然还有人说可以使用popen。这无所谓。

放弃了性能(这是肯定的 会增加fork和线程同步)和稳定性(在没有完全掌握他的API设计的情况,写出来的东西也真不见得稳定)。事情就变得很简单,好像我前两天研究他的库都白研究了:

# include<cstdlib>
# include<chrono>
# include<thread>




int main(int argc, char const *argv[])
{
    system("lttng create my-test --output=tmp");

    system("lttng enable-event --userspace --all ");

    system("lttng start");

    std::chrono::seconds sec(10);
    std::this_thread::sleep_for(sec);

    system("lttng stop");

    system("lttng destroy my-test");


    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊苏C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值