我想使用exec系统调用清除主目录中的目录/文件。我不能理解的是,我可以指定在哪个目录上应用ls。以下是我尝试过的方法:
cout<<execle("/bin/ls","bin/ls",NULL);它打印当前目录中的文件。我将path作为环境变量传递,但这也没有帮助。也许这是用来指定在哪里找到传递给execl的可执行文件,
char *env2[]={"PATH=/home/username", NULL};
cout<<execle("/bin/ls","bin/ls",NULL, env2);我认为在调用execl之前更改目录会有所帮助,但找不到简单的方法来做到这一点。如何指定应该对其执行ls的目录。注意:我使用的是ubuntu linux
发布于 2021-04-09 12:44:30
尝试使用execvp()
cout << execvp("ls", ["ls", "/home/username"])execvp将您试图执行的命令作为其参数,并将包含该命令的列表和提供给正在执行的命令的参数列表作为第二个参数。
https://stackoverflow.com/questions/67015092
复制相似问题