使用fork创建文件夹和文件

时间:2017-01-11 14:08:44

标签: c linux

使用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;
}

1 个答案:

答案 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;
}