使用execl来运行一个Linux命令

使用execl来运行一个Linux命令,第1张

概述使用execl来运行一个Linux命令

我需要通过编写一个C语言程序来列出当前目录中具有644权限的所有文件。 我不能使用system()并且必须使用execl()才能使用系统调用。

这是我在我的代码中使用的一行:

execl("/usr/bin/find","find . -maxdepth 1 -perm 644",(char *)NulL);

问题是代码search整个磁盘而不是当前目录。 你能帮我解决吗?

... case 4: int status; switch (fork()){ case -1: quit ("fork",1); case 0: execl("/usr/bin/find","find",".","-maxdepth","1","-perm","644",(char *)NulL) ; exit (200); default: wait(&status); exit(0); } }

获取C程序的输出而不编译它

非DLL中的阻塞套接字(无窗口)

SetwindowsHook支持32位和64位应用程序

如何使用C#从windows服务运行EXE程序?

Poppler编译在Visual Studio 2008下使用QT4

GDI +初始化崩溃的应用程序,为什么?

无框Qt窗口(win32)中错误的窗口绘画行为

编译linux中的windows Qt代码和库中的变化

直接高效地读写硬盘扇区

使用logoN32_logoN_NEW_CREDENTIALS对windows进行冒充有什么魔力?

分开的论点:

execl("/usr/bin/find",(char *)NulL);

你的调用相当于调用没有参数的find程序(和一个非常有趣的argv[0] )。

execl("/usr/bin/find","/usr/bin/find","0644",(char *)NulL);

对于你的特定任务,使用文件树行走 ( ftw )更合适。

ftw只是一个库,所以你不需要产生外部过程来完成工作。 此外,解析结果也更容易。

总结

以上是内存溢出为你收集整理的使用execl来运行一个Linux命令全部内容,希望文章能够帮你解决使用execl来运行一个Linux命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1158803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存