使用fork()
,我希望孩子使用我从控制台提供的参数创建一个文件夹:
./ example abc
并且父级将file.txt
放在此文件夹中,包含所有当前进程。
我的问题是父母无法识别此文件夹。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(int argc , char *argv[])
{
int fid,status;
fid=fork();
if(fid==0)
{
mkdir(argv[1],0777);
wait(&status);
}
else if(fid>0)
{
system("ps -A >> argv[1]/file.txt");
}
else
printf("fork failed");
return 0;
}
答案 0 :(得分:0)
试试这个。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(int argc , char *argv[])
{
int fid,status;
char string[50];
sprintf(string, "ps -A >> %s/file.txt", argv[1]);
fid=fork();
if(fid==0)
{
mkdir(argv[1],0777);
wait(&status);
}
else if(fid>0)
{
system(string);
}
else
printf("fork failed");
return 0;
}