Linux C中调用shell命令

很多时候我们需要在我们所编写的C程序当中,调用一行命令,在命令行运行的命令,比如ifconfig,ls,或者是其他需要的命令如mpirun -machinefile host -np * ./*(MPI并行程序)等等,这就要求我们能够在Linux下调用shell命令。

Linux的C就为我们提供了一个可以调用shell命令的函数,它就是system()。

system函数调用/bin/sh,执行特定的shell命令,阻塞当前的进程直到shell命令执行完毕,才重新回到当前进程。调用它的格式为:
#include <stdlib.h>
int system(const char *command);//command就是我们要执行的各种命令,例如“mpirun -np 2 ./cpi”
执行system实际上是调用了fork函数(产生新进程)、exec函数(在新进程中执行新任务)、waitpid函数(等待新进程结束)。
我们给出一个简单的system函数举例:
#include <stdlib.h>

int main(int argc,char **argv)
{
    system("lfs -l");  //调用shell命令 ls -l

system("ifconfig");//调用ifconfig

system("mpirun -np 2 ./cpi");//调用mpi并行程序命令
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值