posix_spawn创建进程时更改工作目录 linux系统通用的方式
时间: 2023-08-09 13:04:55 浏览: 106
在使用 posix_spawn
函数创建新进程时,可以通过设置 posix_spawn_file_actions_t
对象中的文件操作来更改子进程的工作目录。
具体步骤如下:
- 创建
posix_spawn_file_actions_t
对象。
posix_spawn_file_actions_t file_actions;
posix_spawn_file_actions_init(&file_actions);
- 调用
posix_spawn_file_actions_addchdir()
函数设置子进程的工作目录。
posix_spawn_file_actions_addchdir(&file_actions, "/path/to/new/directory");
- 在调用
posix_spawn()
函数时,将file_actions
对象作为参数传入。
pid_t pid;
char *argv[] = { "/path/to/new/program", NULL };
int ret = posix_spawn(&pid, "/path/to/new/program", &file_actions, NULL, argv, NULL);
- 使用
posix_spawn_file_actions_destroy()
函数释放file_actions
对象。
posix_spawn_file_actions_destroy(&file_actions);
这样,就可以在创建子进程时更改子进程的工作目录。
相关推荐















