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