用C实现自拉起进程
时间: 2024-02-25 21:54:26 浏览: 54
C语言实现程序开机自启动
在 C 语言中,可以使用 `fork()` 和 `exec()` 系列函数来创建一个新的进程并执行命令。以下是一个示例代码,演示了如何使用这些函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main()
{
pid_t pid;
// 创建子进程
pid = fork();
if (pid < 0) {
// 如果创建子进程失败,打印错误信息并退出
fprintf(stderr, "Fork Failed");
exit(1);
} else if (pid == 0) {
// 如果是子进程,执行命令
char *args[] = {"ls", NULL};
execvp(args[0], args);
} else {
// 如果是父进程,等待子进程执行完毕
wait(NULL);
printf("Child Complete\n");
}
return 0;
}
```
在这个示例中,我们使用 `fork()` 函数创建了一个新的进程,并使用 `execvp()` 函数在子进程中执行命令。`execvp()` 函数通过传入一个字符串数组来指定要执行的命令及其参数。在这个示例中,我们将命令和参数存储在 `args` 数组中,然后在 `execvp()` 函数中传入该数组。在父进程中,我们使用 `wait()` 函数等待子进程执行完毕,然后打印一条消息。
阅读全文