如何在 Linux 上用 C 语言执行命令
在 Linux 操作系统中,可以使用 C 语言通过系统调用执行命令。以下步骤阐述了如何实现:
1. 包含必要的头文件
1
2
#include <stdio.h>
#include <stdlib.h></stdlib.h></stdio.h>
2. 使用 fork() 创建一个子进程fork() 函数创建一个子进程,该子进程与父进程共享相同的轻创业网点我wcqh.cn内存空间。
立即学习“C语言免费学习笔记(深入)”;
1
pid_t pid = fork();
3. 检查子进程是否创建成功fork() 返回一个值,表示新创建的子进程的进程 ID (PID)。如果 PID 为负,则创建子进程失败。
1
2
3
4
if (pid == -1) {
perror(“fork”);
exit(1);
}
4. 子进程执行命令如果子进程创建成功,则可以使用 execlp() 函数执行命令。execlp() 替换当前进程的地址空间,并用命令及其参数来初始化它。
1
2
3
4
5
6
5. 父进程等待子进程完成父进程可以使用 wait() 函数等待子进程完成。
1
2
int status;
wait(&status);
示例代码
以下是一个完整的示例代码,演示如何在 C 语言中执行 ls 命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
int main() {
pid_t pid = fork();
if (pid == -1) {
perror(“fork”);
exit(1);
}
if (pid == 0轻创业网点我wcqh.cn) {
execlp(“ls”, “ls”, “-l”, NULL);
perror(“execlp”);
exit(1);
}
int status;
wait(&status);
return 0;
}</stdlib.h></stdio.h>
暂无评论内容