当前位置:  技术问答>linux和unix

【求助】system()命令执行失败,请高手帮忙解决,谢谢!

    来源: 互联网  发布时间:2016-07-04

    本文导语:  在suse 11 Linux系统中,编译的C语言代码。功能是按时间创建文件夹,并且保存大量的文件到文件夹,到每天凌晨删除过期的文件夹(含大量文件)。 其中,使用 system("rm -rf 文件夹路径");删除指定文件夹。 每次开...

在suse 11 Linux系统中,编译的C语言代码。功能是按时间创建文件夹,并且保存大量的文件到文件夹,到每天凌晨删除过期的文件夹(含大量文件)。

其中,使用 system("rm -rf 文件夹路径");删除指定文件夹。

每次开始运行时可以正常工作,但是程序运行3天后,system命令无法删除相关文件夹,一旦出现这个bug,除非重启进程,否则之后均无法正常删除文件夹。

使用"pstree"命令,发现当前进程下并没有子进程在运行。
手动键入"rm"命令,可以删除相关文件夹。
磁盘,内存都还有剩余空间。

请高手帮忙看看,可能那些地方出了问题,非常感谢!

|
1 system("rm -rf 文件夹路径"),这种方式有个缺点就是不太好调试,虽然用起来方便。
2 system是fork一个进程然后去执行。我猜想可能是没有真正fork成功,而并不是cmd写的不对。如何验证?
请改用system("./rm.sh"),在rm.sh中加入调试信息,看看到底在system()的时候,有无fork成功,此时的env等信息是什么。
3 再高级一些的方式是GDB,上面你已经提到用GDB来跟踪system()所在的程序了,那么我们是否可以跟踪进system()看看到底发生什么事情?在什么地方没有执行成功?这个方式是可行的,只是要求你对GDB,汇编、Linux程序、以至kernel都有较为深厚的认识。考虑libc-debug。
在Linux这个开源世界的最为美丽的地方就是,你掌握着所有的程序,而不是看着他们运行。
4 还有一个方法:遇到这类问题,考虑调用libc中的remove(),自己写代码实现删除功能。

    
 
 

您可能感兴趣的文章:

  • 求助:如何实时记录用户的命令行命令?谢谢
  • 高分求助,怎样在linux终端命令中加入自己的命令
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • 求助.关于LINUX命令的问题!
  • Linux 命令求助
  • which,whereis命令求助
  • 菜鸟求助:输入命令回车显示的是乱码?
  • 求助关于rpm 同时安装2个包的命令
  • 求助 sed命令替换问题
  • 求助cut命令使用
  • 求助:我的Fedora11找不到configure命令
  • (求助)Makefile 中如何获得系统命令结果
  • 求助:用tar命令解压缩的时候.如何指定路径???谢谢!!!
  • 求助[关于top命令]
  • 求助yum命令问题
  • 求助Solaris命令
  • 求助,busybox的udhcpc命令问题
  • 求助一个命令啊!!!
  • 求助sed命令问题
  • 求助:关于csh的管道命令
  • WEB前端 iis7站长之家
  • 求助!fedora13 下安装软件总是失败
  • 求助:函数getpeername()返回的namelen很小,导致获得名字失败是为什么?谢谢!!!
  • 【求助】软件包安装失败
  • 求助:sendmail发信失败
  • ubuntu10.04通过U盘安装失败。求助一下。
  • 求助!centOs系统root用户连接ftp失败,别的用户连接ftp成功?
  • (求助)启动vsftpd失败
  • 求助:mount 执行失败!多谢!
  • 求助:请问怎么获得在个一个脚本中执行的另外个脚本的返回结果,如执行成功或失败
  • 向高手求助一个简单问题:为什么我在linux上的socket编程bind失败,告诉是权限不允许?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助.sh文件执行报错问题
  • 【求助】如果在一个文件内执行多条语句(批处理)
  • 求助:在Window系统中去连上Solaris系统并执行VMSTAT返回结果
  • gtk编程求助:程序里打开了一个子窗口,如何等子窗口关闭后再继续往下执行?
  • 【求助】如何同时连接并登录多个服务器,然后执行相同的维护脚本
  • [求助]solaris root用户无法执行命令的问题
  • [求助]这个目录下的文件,如何执行啊??
  • 编译连接成功,但不能执行!!求助!!!
  • 求助:我怎么生存 像 windows 下的 exe 可执行文件啊?谢谢!
  • 哪位大虾知道lsof的执行流程?高分求助~~~~~~~~~
  • 求助,远程登录linux后,怎么自动执行一些命令
  • [求助]Linux下如何在Shell Script中实现在某特殊时间点,批量执行脚本指令?(在线等回复)
  • 疑惑求助:unix线程执行被异步中断后的问题
  • C语言中执行shell脚本出错(菜鸟求助)
  • 求助呀,我们的HP-UNIX的服务器经常发现有文件被恶意删除。有查询用户执行命令的记录日志吗,感谢了!
  • 【求助】在主线程里如何终止子线程的执行?
  • 关于java和jsp的执行问题求助
  • [求助]一个不知道执行长度的任务怎么用JProgressBar来表示呀
  • 程序执行出错,求助!!!
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3