linux c语言system执行命令行命令
时间: 2023-07-31 17:11:04 浏览: 320
在下,可以使用system函数执行命令行命令。具体用法如下:
```c
#include <stdlib.h>
int system(const char *command);
```
其中,command参数为需要执行的命令行命令,返回值为执行结果的返回状态码。例如,执行ls命令并输出结果可以这样实现:
```c
#include <stdlib.h>
int main() {
system("ls");
return 0;
}
```
注意,system函数会阻塞当前程序直到命令执行完成。如果需要在后台执行命令,可以使用fork和exec族函数。
相关问题
编写linux下c语言程序,模拟命令行输入界面,以root用户时用#,其它用户时用>
下面是一个简单的Linux下C语言程序,用于模拟命令行输入界面:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <pwd.h>
#define MAX_COMMAND_LENGTH 1024
int main(void) {
char command[MAX_COMMAND_LENGTH];
struct passwd *pw = getpwuid(getuid());
char *username = pw->pw_name;
char *prompt = ">";
if (getuid() == 0) {
prompt = "#";
}
while (1) {
printf("%s%s ", username, prompt);
if (fgets(command, MAX_COMMAND_LENGTH, stdin) != NULL) {
system(command);
} else {
break;
}
}
return 0;
}
```
程序中,我们通过`getuid()`函数获取当前登录用户的ID,如果ID为0,则说明当前用户为root用户,此时将提示符设为`#`,否则设为`>`。
在程序的主循环中,我们使用`fgets()`函数读取命令行输入,并使用`system()`函数执行输入的命令。
运行该程序后,即可模拟一个命令行输入界面,其中root用户的提示符为`#`,其它用户的提示符为`>`。
linux 关闭当前命令行窗口的c语言程序源码
在 Linux 系统中,可以使用以下代码关闭当前命令行窗口:
```c
#include <stdlib.h>
#include <unistd.h>
int main() {
system("kill -9 $(ps -ef | grep pts/ | awk '{print $2}')");
return 0;
}
```
该程序调用了 `system()` 函数执行命令 `kill -9 $(ps -ef | grep pts/ | awk '{print $2}')`,该命令会查找当前命令行窗口的进程 ID 并强制结束该进程,从而关闭窗口。注意,该程序需要使用管理员权限运行。
阅读全文