Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用 fork 和 execlp 运行一个非常简单的程序,但它并没有像我预期的那样工作。我目前在我的工作目录中有一个简单命名为“1”的文件。所以命令rm 1*应该删除它。但是,当通过 execlp 尝试时,它不会。
int main() { if(fork()==0) { execlp("rm", "rm", "1*", NULL); perror("Problem\n"); } return 0; }
谢谢你。
对于你想要做的事情,你想要:
execlp("sh", "sh", "rm 1*", (char *)0);
请注意,从安全性、健壮性和效率的角度来看,这是一个相当糟糕的主意。如果要删除与模式匹配的文件,则应直接在 C 中执行此操作。使用glob函数和简单的循环很容易。
glob