Linux C语言 程序调用shell命令关闭计算机
时间: 2024-10-17 21:06:18 浏览: 5
在Linux环境下,使用C语言程序调用shell命令来关闭计算机,通常需要使用`system()`函数或者`popen/pclose`函数组合。这里给出一种简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> // 包含系统调用相关头文件
int main() {
char *cmd = "sudo shutdown -h now"; // 关闭计算机的命令,"now"表示立即关机
pid_t child_pid = system(cmd); // 使用system函数执行命令
if (child_pid == -1) {
perror("System call failed");
return 1;
} else {
printf("Command executed successfully.\n");
return 0;
}
}
```
在这个例子中,我们首先定义了一个指向shell命令的字符串`cmd`,然后使用`system()`函数执行这个命令。如果成功,`system()`会返回0;如果有错误,它会返回-1,并通过`perror()`函数打印错误信息。
注意:
1. `sudo`用于以管理员权限运行`shutdown`命令,因为关闭计算机通常是管理员操作。
2. `system()`不是安全的,因为它直接执行用户输入的命令,可能存在安全隐患。在实际应用中,推荐使用更安全的方式,如`popen/pclose`、`execlp`等函数。
阅读全文