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个回答

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

m0_37734618
m0_37734618 回复happyever2012: 您好,我也碰到这样的问题,请问有结论了吗
3 个月之前 回复
happyever2012
happyever2012 我本意就是只想改变当前的bash的值,而不是全局的。问题是我在/etc/profile里设置了全局的确实是unlimited,为啥程序调用system打出来的结果还是0?
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ulimit命令
ulimit命令是shell内建命令,用来控制shell程序资源。 使用type ulimit查看到,ulimit is a shell builtin,这说明是内建命令。 ulimit -a查看当前的资源限定的设置。 ulimit -c 0 core dumps can be disable(也就是禁用coredump) ulimit -c unlimited ...
Linux环境下怎么调用命令
我要用Java开发一个程序,Linux下运行的。其中会调用一个Linux下运行的程序,只要输入“hats”就可以,我如何在Java中调用它。运行那程序后会进入它的运行环境并等你输入指令,请高手指教。
system命令执行外部程序
各位大侠,我在程序中用system命令调用外部程序,但是在循环中每一次运行都会重新打开一个DOS命令窗口,请问如何在循环中只打开一个窗口,或者让每个窗口运行结束之后就自动关闭,而非整个循环全部结束之后再一起关闭呢?
linux C 语言的 system(执行shell 命令)
http://blog.chinaunix.net/uid-22150747-id-189252.html 相关函数 fork,execve,waitpid,popen 表头文件 代码: #include 定义函数 代码: int system(const char * string); 函数说明 system() 会调用fork()产生子进程,由
system执行dos命令
最近心血来潮学习C,在编写个小程序的时候出现了难题,如下:rn//a.cpprn#include rn#include rnrnvoid main()rn system("net start telnet");rn system("telnet -l xiaoyy 127.0.0.1");rnrnrn编译完进行执行的时候出现需要用户手动填密码,请教高手们,我如何让程序[color=#FF0000]自动输入密码[/color][color=#0000FF]并且[/color][color=#FF0000]自动回车[/color]呢(不然我得自己手动添加和手动回车)
stdlib.h中的函数system()调用怎么不起作用了?
我看到了一个stdlib.h中的函数system(),原型是int system(char * str);是把str指向的字符串作为一个命令传送到Dos操作系统的的command.com. 我的实验是这样的:rn #include rn #include rn void main()rn int i;rn char * p="c:\\\>dir \r";rn i=system(p);rn cout <
perl 使用 system 调用 linux 命令问题
在 linux 下, perl 中 调用 rnrnsystem("/usr/sbin/useradd",$loginname,"-p",$password); rnrn可以顺利添加用户 rnrn为什么 rnrnsystem("/usr/sbin/userdel","-r",$username); rnrn不能正确运行 -r 参数? (就是说,实际上只运行了: deluser $username, 而 rn-r 参数没有起到作用) rn
linux c 调用 system 执行shell脚本失败
本人编写了一个c程序 program_a,program_a中通过system函数调用一个shell脚本执行文件shell_brnsystem("./shell_b");rnshell脚本shell_b中有一段关于数据库更新的操作rnsqlite3 abc.db < cba.sqlrn上面这句语句没有实现预期的数据库更新要求rn但我通过CRT登入,手动执行shell脚本shell_brn./shell_brn脚本执行成功,数据库也对应更新了rnrn然后我将shell_b 中的语句sqlite3 abc.db < cba.sql 改为绝对路径 /usr/sbin/sqlite3 abc.db < cba.sqlrn再启动program_a,程序执行成功,数据库能够更新,请问这是为什么
Linux 调优方案, 修改最大连接数(ulimit命令)
Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数 可以用ulimit -a 来显示当前的各种用户进程限制。 下面我把某linux用户的最大进程数设为10000个:      ulimit -u 10240      对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,      ...
Linux笔记(70)——文件描述符之ulimit命令
当进程打开现有文件或创建新文件时,会受到文件描述符的限制。 Linux系统中经常出现错误too many open files ,说明你打开的文件数量超过文件描述符的限制。 查看文件描述符大小: [root@centos7-190:mysql]$ ulimit -n 1024 修改文件描述符大小: 方法1,只对当前session有效: ulimit -HSn 62235 方法...
system()调用dos命令
void MyNewDirectory(void)rnrn char cmd[20]="d:\\>md ";rn char dir[1];rn char name[20];rn cout<<"目录名:";rn cin.get();rn cin.getline(name,20);rn strcat(cmd,name);rn system(cmd);rn cin.get();rnrn利用system()调用dos命令新建一个目录,为什么会出错?
Linux(入门基础):57---文件系统及程序的限制(ulimit命令)
ulimit命令 1.功能 ulimit可用于查看一个shell启用时所占用资源资源的限制(文件数量、可以使用CPU的时间、使用的内存量等)。当然也可以来设置这些资源 2.格式 ulimit [选项] [配额值] 相关选项与参数 -a:后面不加任何选项与参数,列出当前系统所有的限制信息 -H:设置硬资源限制(严格的设置)。不能超过后面的配额值的数值 -S:设置软资源限制(警告的设...
linux ulimit的若干坑 - ulimit真不是乱设的
soft和hard一起设置才好使* soft nofile 1000000 * hard nofile 1000000如果只是设置一个,那么是不起作用的啥时候ulimit的设置才生效退出当前session,重新登录后或者直接命令行执行ulimit -n 1000000 ulimit -u unlimitednofile不能设置unlimited,noproc可以如果设置* soft nofile u
在awk中执行system命令------太有用了
有这样一个临时需求: 在a.txt文件中有一万行字符串, 而二进制文件test能解密任何一行, 格式为./test decrypt xxx,  现在要把a.txt的所有行解密出来, 存放在b.txt, 怎么搞?         我一开始的思路是: 写程序逐行读取a.txt, 然后在程序中循环执行system("./test decrypt xxx"),  看看, 这是多个SB的事情啊。 为什么不
安卓程序中调用 linux 命令
安卓程序中调用 linux 命令
执行system($cmd)命令的问题。
最近在研究网页截图。选择了webscreencapture。我把官网上的BAT文件写进了PHP里面。rn另外将webscreencapture主程序复制了3个,我想同时抓取3个页面的截图。rn[code=PHP]rn$cmd1 = 'webscreencapture1.exe "http://www.bing.com" e:\www\test\1.jpg';rnsystem($cmd1);rn$cmd2 = 'webscreencapture2.exe "http://www.baidu.com" e:\www\test\2.jpg';rnsystem($cmd2);rn$cmd3 = 'webscreencapture3.exe "http://cn.yahoo.com" e:\www\test\3.jpg';rnsystem($cmd3);rn[/code]rn现在我遇到几个问题,求助于大家。rn1。如何使得PHP同时执行$cmd1,$cmd2,$cmd3?而不是根据代码先后,队列执行?rn2。webscreencapture有时会产生程序错误,即抓某个页面已经抓取成功之后,还会无数次的重复执行该条system($cmd)命令,类似于死机。如何做到同一条命令执行一次之后,自动终止system($cmd)命令?rn3。webscreencapture 官网上没有找到相关的延时代码,我还想截取一些视频网站。如何在system($cmd)里设置延时?rn4。是否可以在代码里设置每24小时自动执行一次截图代码?rn谢谢。
Linux中的ulimit命令简介(某公司社招笔试试题)
早在2006年,国内某知名互联网搜索公司在笔试试题中向广大应聘者发问:默认情况下, linux的一个进程最多可以打开多少个文件? 如果不熟悉linux的一些基本知识, 那就无法作答了。 先说答案吧:1024. 这就涉及到本文要介绍的ulimit命令。 ulimit就是user limit, 意思是与用户相关的一些限制参数, 下面我们来看看吧:
如何在程序中启动一个进程执行system命令
在我已有的程序中,怎样增加一个进程,该进程执行system语句,执行结果重定向到一个文件中,我用_spawnl,没有提示任何错误,就是没有产生我要重定向的文件,何故?
linux ulimit生效的问题
如果一个系统的ulimit进行了修改,是否必须得重新登录才能生效? 重新剩下生效后测试通过。 但是如果仅仅是修改文件,然后ulimit -a 是不生效的。但是ulimit -n 5000这种如果是在命令行里面输入,那么是即时生效的,但是重启后就无效了哦。另外,搜索资料的时候,发现了一个比较有意思的情况,http://unix.stackexchange.com/questions/108603/d
命令在Linux中的执行步骤
命令在Linux中的执行分为4步:第一步:判断路径 判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话直接执行。第二步:检查别名 Linux系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。可以用alias命令来创建一个属于自己的别名,格式为“alias 别名=命令”。如果想取消一个命令别名,则用unalias格式为“unalia
Linux C语言调用system命令并获取命令的返回值
思路:popen打开,命令执行完后,对fp进行读取,读到output参数里面。 注意:size不要太大。一般64,128够用。用1024或者4028,会出现段错误,栈报错。 popen()可以执行shell命令,并读取此命令的返回值;   popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。可以通过这个管道执行标准输入输出操作。这个...
Linux环境下用命令调用DUBBO接口
工作中有时想直接在linux环境下测试DUBBO接口,可直接使用命令,很方便,请看下面:1、连接:telnet ip 端口,如:telnet 127.0.0.1 238902、调用:invoke 完整包名.接口名.方法名(json格式参数),如invoke com.xxx.ClassName.MethodName(1)invoke com.xxx.ClassName.MethodName('1')...
java怎么在linux环境下调用sqlldr的命令
java怎么在linux环境下调用sqlldr的命令
关于Linux的Ulimit参数
JVM 64位平台与32位平台的差异  64位虚拟机需要由于指针的膨胀和变量的对其补白,需要比32为更加大的内存,一般为10%-30%;而且处理性能要比32位下降15%   但是由于有些平台需要大于4G的内存,这个时候他们需要64位虚拟机,那么怎么办呢,可以对启用指针压缩功能(-XX:+UseCompressedoops),这样动态植入压缩指令可以节省内存,但是却会增加执行代码的数量。所以没有一...
linux 修改ulimit 的参数
ulimit -a 显示当前用户的各种限制。 ulimit -n 的数值表示每个进程可以打开的文件数目。 一般情况下, ulimit -n 的数值是1024. 当进程打开的文件数目超过此限制时,该进程就会退出。 因此,有些时候我们需要修改此限制。 如果我们只是普通用户,只是暂时的修改ulimit -n,可以直接shell命令来修改(ulimit -n 1024000)...
驱动程序中能否调用system()命令
大侠帮忙!rn最近在准备写一个远程管理的驱动程序,要求是在以太网驱动中增加一种管理报文处理,解析完报文后,对系统进行相应设置。rn现在问题是: rn 通常在应用程序里面,我们会使用system("xx yy"),这样就相当于在串口上执行了命令“xx yy”,我想问的是在驱动程序中是否能够调用system(),或者有类似的调用达到上述在串口执行命令"xx yy"的目的吗?rnrn坐等更新rn
ulimit命令中的pending signal值。。
ulimit命令中,什么该变那些参数大小啊?rn比如:我现在想改变pending signal的值大小?rn可以该变么?怎么变呢?
关于ulimit 命令的详细参数
ulimit [-acdfHlmnpsStvw] [size] 参数介绍: -H 设置硬件资源限制. -S 设置软件资源限制. -a 显示当前所有的资源限制. -c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -f size:设置创建文件的最大值.单位:blocks -l size:设置在内存中锁定进程的最大值.单位:kbyte
system 调用cls 命令的问题。
我想在程序中调用system执行一个cls这种的命令, 不想让命令行窗口出现, 现在是闪一下。 怎么做呢?
ulimit
ulimit -s 设置的堆栈是指进程用户空间的堆栈还是系统空间的堆栈?
linux环境下的文件查找命令
Linux下查找文件的命令有两个:locate 和 find; locate: locate查找文件速度很快,但是locate命令只能对文件进行模糊匹配,在精确度上来说差了点,简单介绍下它的两个选项:        -i        //查找文件的时候不区分大小写 比如:locate  –i   passwd        -n       //只显示查找结果的前N行     比如:
Linux环境下载命令
1.wget wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。&quot;wget&quot; 这个名称来源于 &quot;World Wide Web&quot; 与 &quot;get&quot; 的结合。所谓自动下载,是指 wget 可以在用户退出系统的之后在继续后台执行,直到下载任务完成。 2.yum Yum(全称为 Yellow dog...
linux环境的命令cd
cd .  回到当前目录     cd ..  回到上一级目录     cd /   回到根目录
ulimit -f 执行不成功为什么?
ulimit -f 和rn/usr/bin/ulimit -f rn都提示"没有"rnrn系统是solaris8
system()执行中的问题
服务器linux,web服务器apachernrn在system 中执行的命令,在ie中点按钮执行。好像没有权限,查了半天,rn有的帖子说rnYou have to give Apache permission to "interact with the desktop".rnrnHere's how...rnrnStart>Run>services.mscrnRight click "Apache...", select properties.rnClick on the "LOG ON" tabrnCheck the box "Allow this service to interact with desktop"rnClick OKrnRestart Apachern这个好像是win下的,在linux下面如何处理才能执行呢。
linux 命令无法执行
linux 64位里面libc.so.6库被人修改了链接对象,之前是链接到libc-2.5.so,变成了libc-2.9.so,导致我的交叉编译器不能使用,我就改回来,可是出错了,所有命令无法执行出现:error while loading shared libraries libc.so.6rn这个问题如何解决啊??不要重装系统.
Linux 命令执行顺序控制
【概述】 通常情况下,我们每次只能在终端输入一条命令,按下回车执行,执行完成后,我们再输入第二条命令,然后再按回车执行…… 当有我们会一次输入多条命令,或者有选择性的执行命令时,我们可以用特定的语法结构来实现命令的执行顺序的控制问题。 【顺序执行多条命令】 简单的顺序执行,可以使用 ; 来完成。 实例: 当我们需要使用 apt-get 安装一个软件,然后安装完成后立即运行安装的软件,而...
PHP 执行linux 命令
rnrn# vim /etc/rc.d/rc.localrnroute add default gw 192.168.0.255 eth0rnroute add -net 10.0.1.0 netmask 255.255.255.0 gw 192.168.0.255 eth0rn:wqrnrn我知道PHP 调用系统底层命令 用exec 但是想知道 如何将这三句 同时执行呢?
delphi中如何执行linux中命令?
1、服务器是linux的rn2、终端是XP系统。rn3、现在想写一个程序放在终端上,功能如下:rn 在程序中的编辑框中输入一个终端号,单击确定就可以登陆到服务器上将输入的终端号的进程杀掉。rn 在程序中设置好服务器上的用户名,密码,登陆到服务器上执行的命令如下:rnrn 1)、ps -ef|grep ttyp222 (其中222是输入的终端号)rn 执行完以上的命今后会查出222终端的进程号,比如是1126。rn 2)、kill -9 1126rn 将进程1126杀掉rn怎样才能实现以上功能。
c语言调用system命令执行cl test.cpp
#includen#includenint main()nn system( "cl ex.cpp" );n return 0;nnn```n n```n//告诉我cl 不是系统命令 谁知道该怎么弄啊?n
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件