`
灵动的水
  • 浏览: 194560 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Linux popen函数语法要点

阅读更多
popen函数语法要点
所需头文件:#include<stdio.h>
函数原型: FILE*popen(const char *command,const char *type)
函数传入值:Command:指向的是一个以null结束符结尾的字符串,这个字符串包含一个shell命令,并被送到/bin/sh以-c参数执行,即由shell来执行
     type:“r”:文件指针链接到commond的标准输出,即该命令的结果产生输出
       “w”:文件指针连接到command的标准输入,即该命令的结果产生输入
函数返回值:成功:文件流指针
     出错:-1
*/
/*
pclose函数的语法要点
所需头文件:#include<stdio.h>
函数原型: int pclose(FILE*stream)
函数传入值:stream:要关闭的文件流
函数返回值:成功:返回popen中执行命令的终止状态
     出错:-1
*/
/*popen.c*/

/*使用popen来执行“ps -ef”命令,可以看出,popen函数的使用能够使得程序变得短小精悍*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>

#define BUFSIZE 1000

int main()
{
FILE *fp;
char *cmd = "ps -ef";
char buf[BUFSIZE];
buf[BUFSIZE] = '\0';

/*调用popen函数执行相应的命令*/
if((fp=popen(cmd,"r"))==NULL)
   perror("popen");
while((fgets(buf,BUFSIZE,fp))!=NULL)
   printf("%s",buf);
pclose(fp);
exit(0);
}

分享到:
评论

相关推荐

    Linux系统中popen函数的缺陷与改造方案.pdf

    "Linux系统中popen函数的缺陷与改造方案" Linux 操作系统中,popen 函数是一个常用的函数,用于执行 shell 命令并得到执行结果。然而,Linux 库提供的 popen 函数却有两个致命的缺陷。本文将分析这两个缺陷产生的...

    linux popen函数

    在Linux系统中,`popen`函数是一个非常实用的C语言标准库函数,它允许程序以进程间通信(IPC,Inter-Process Communication)的方式与另一个命令或者程序进行交互。`popen`函数在`stdio.h`头文件中定义,它的主要...

    Linux中popen函数的作用小结

    在Linux系统中,`popen()`函数是一个非常实用的函数,它允许程序与其他程序进行交互,通常是执行系统命令并读写其输出。`popen()`是C标准库`stdio.h`的一部分,它通过创建管道(pipe)并在子进程中运行一个shell来...

    Linux下使用popen()执行shell命令.docx

    在 Linux 操作系统中,popen() 函数是一个强大的工具,允许开发者执行 shell 命令并获取其输出结果。popen() 函数通过创建一个管道,调用 fork() 产生一个子进程,执行一个 shell 以运行指令来开启一个进程。这个...

    如何解决fgets读取popen内容阻塞的问题

    "fgets 读取 popen 内容阻塞的问题解决方案" ...fgets 读取 popen 内容阻塞的问题可以通过使用 popen 函数、fgets 函数和 pclose 函数来解决。同时,还需要注意文件指针的检查和错误处理,以避免程序崩溃和资源泄露。

    自己写的popen

    自己编写popen函数,可以学习学习哦,网上有popen的源代码

    20120629_用popen函数操作其它程序的输入和输出1

    《使用popen函数操作其他程序的输入与输出》 在编程中,有时我们需要与外部程序交互,例如读取它们的输出或向它们提供输入。在C语言中,`popen`函数为此提供了一个方便的接口。本文将详细介绍如何使用`popen`函数...

    跨平台实现异步执行命令,类似popen,可同时读写

    popen函数在C和C++中是一个用于执行命令行指令并创建一个与该进程的输入/输出相关的管道的函数。它允许程序读取或写入被执行命令的输出。然而,popen是单向的,即要么只能读,要么只能写,并且不支持异步操作。为了...

    Linux下面向函数的动态内存泄漏监测.pdf

    【标题】:面向函数的动态内存泄漏监测在Linux操作系统中的实现与应用 【描述】:本文探讨了在Linux操作系统中,如何针对函数进行动态内存泄漏的监测,旨在帮助程序员更有效地定位和解决内存泄漏问题。 【标签】:...

    重新实现popen和system函数

    在编程领域,`popen` 和 `system` 函数是C/C++标准库中用于执行命令行进程的工具。它们提供了方便的方式来与操作系统交互,执行外部程序并读取或写入其输出。然而,有时出于安全或性能考虑,开发者可能需要自定义...

    popen使用方法示例

    在C/C++编程中,`popen`是一个非常实用的函数,它允许程序与操作系统命令行进行交互。这个函数在`stdio.h`头文件中定义,可以用来执行一个外部命令并读取或写入其标准输入/输出。下面我们将详细讨论`popen`的使用...

    Linux 函数库 手册

    在Linux系统中,函数库是开发者进行程序设计的重要资源,它们提供了一系列预定义的函数,使得程序员能够方便地实现各种复杂的功能,而无需从零开始编写代码。本篇将主要探讨Linux下的C语言函数库,因为C语言是Linux...

    tcps.zip_linux 远程控制_popen

    在这个场景中,我们看到的`tcps.zip_linux 远程控制_popen`主题是关于在Linux环境下,利用管道(pipe)和`popen`函数来实现远程控制功能。 首先,我们要理解`popen`函数的工作原理。`popen`函数创建一个新的进程,...

    popen 获取ip ,mask,dns等1.2 测试ok

    最近在做web服务器端处理。刚好用到要在服务器端调用popen函数查询相关命令,并上传到前端。所以在服务器端做的查询ip,mask等的测试代码。在linux下编译运行即可得到需要的值。代码简单。

    linux常用C函数

    ### Linux常用C函数详解 #### 一、系统函数:system() **函数原型**: ```c #include int system(const char *command); ``` **功能**: `system()` 函数用于执行由 `command` 参数指定的命令,通常用于在程序中...

    linux C程序中获取shell脚本输出(如获取system命令输出)

    通过以上介绍和示例代码分析,我们可以看到在Linux C程序中使用`popen()`函数来获取shell命令的输出是一种非常实用且高效的方法。它不仅可以简化代码逻辑,还能提高程序的可维护性和扩展性。对于那些需要频繁执行...

    popen 实现c/s模式shell功能

    收到数据后执行popen函数,将其返回的内容写入到套接字中,同样发送的内容为两次:一,数据长度。二,数据内容。 Server端具有设置client连接上限的功能,当达到上限时,关闭连接套接字,断开与client端的连接。

    fork、exec系列与system、popen区别.rar_UNIX popen_linux system pop_pop

    在UNIX和Linux操作系统中,进程创建和控制是通过一系列系统调用来实现的,其中最常见的是`fork`、`exec`系列以及`system`和`popen`函数。这些调用各自有不同的特性和用途,理解它们的区别对于进行系统级编程至关重要...

Global site tag (gtag.js) - Google Analytics