happyever2012 2016-10-31 03:41 采纳率: 0%
浏览 2669

linux环境下,在程序中调用system执行ulimit命令不起作用

在shell中直接输入命令执行ulimit -c unlimited,可以成功将当前shell的ulimit -c的值改成unlimited。但是在程序中用C++调用system命令来执行ulimit -c unlimited却没有成功改变ulimit -c的值。这可能是什么原因,怎么在程序中改变ulimit -c的值?

程序如下执行了三个system语句,
system("ulimit -c");
system("ulimit -c unlimited");
system("ulimit -c");

第一和第三个system命令输出的结构都是0,这是什么原因,还请大虾指点迷津。

  • 写回答

1条回答

  • 伪码匠 2016-10-31 04:43
    关注

    1.用shell去更改ulimit选项也只是更改了当前bash环境中的值。
    2.所以你用程序更改之后,没有了上下文环境,所以你看到的是无效的。
    3.如果你想全局开启,那么就写在启动文件中,让所有bash生效。OK?

    评论

报告相同问题?

悬赏问题

  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)