`

请不要再使用把结果重定向到一个临时文件,再读取文件的方法!!!

 
阅读更多



python调用第三方程序并获取结果: 
       command = "gluster peer probe %s" %(host);
        f=os.popen(command);
        lines=f.readlines();
        f.close();

        for line in lines:
                items = line.split();

c语言调用第三方程序并获取结果:
sprintf(cmd, "dd if=/dev/zero of=%s/test%d.img count=1024 bs=1M 2>&1", disk, cur);
//printf("Start ==> %s\n", cmd);
        if (!(pf = popen(cmd, "r"))){
                return -1;
        }

        while (fgets(buf, 1023, pf) && !g_quit){
                buf[1023] = 0;

                ptr = strtok_r(buf, " \t\r\n", &pstok);

                while (ptr){
                        if (!strcasecmp(ptr, "seconds,") ||
                            !strcasecmp(ptr, "s,")){
                                ptr = strtok_r(NULL, " \t\r\n", &pstok);
                                if (!ptr) break;

                                ptr1 = strtok_r(NULL, " \t\r\n", &pstok);
                                sprintf(syslog_info, "dd to %s/test%d.img record: speed %s %s", disk, cur, ptr, ptr1?ptr1:"");
                                done = 1;
                                break;
                        }
                        ptr = strtok_r(NULL, " \t\r\n", &pstok);
                }
        }
        pclose(pf);


分享到:
评论

相关推荐

    linux输入输出重定向使用详解

    有时我们需要同时将标准输出和错误输出重定向到同一个文件,可以使用`2>&1`来实现: ``` [~]$ cat edit.sql /root/test.sh > temp.sh 2>&1 ``` 或者更简洁的写法: ``` [~]$ cat edit.sql /root/test.sh &> ...

    .net URL地址重写 重定向 源码

    9. **URLWriter.xml**:可能是一个XML配置文件,包含了URL重写和重定向的具体规则,或者用于存储和读取重写规则的配置信息。 综上所述,这个压缩包文件的内容可能是一个完整的.NET URL重写和重定向的解决方案,包括...

    Linux标准输入、输出和重定向

    此外,还可以使用**here文档**来创建一个临时的输入源。这里文档允许用户在命令行中直接指定输入的内容,其语法如下: ```bash command content content ... DELIMITER ``` 例如,使用`wc`命令统计以下内容的行数...

    [批处理]重定向中的秘密(句柄备份)

    4. ****:从后一个句柄读取输入并写入到前一个句柄输出中。 5. **>&**:将前一个句柄的输出写入到后一个句柄作为输入。 6. **|**:读取前一个命令的输出作为后一个命令的输入,通常称为管道符。 #### 三、句柄概述 ...

    Linux实验八:LinuxC-编程-IO-重定向和管道.doc

    另一种实现重定向的方法是使用`dup2()`函数,如`demo2.c`所示。`dup2()`可以复制一个已存在的文件描述符,并将其指向另一个文件描述符。在这个例子中,创建了一个名为`ls.txt`的文件,然后使用`dup2()`将标准输出...

    Linux Shell编程 压缩以数字开头的文件

    - 将命令的结果重定向到一个临时文件`tar`中。 ```bash ls | grep '^[0-9]\w*' > tar ``` - `>`操作符用于将标准输出重定向到指定的文件中。 4. **压缩文件**: - 使用`while read line; do`循环逐行读取`tar...

    java文件上传demo

    同时,它可能也展示了如何向用户反馈上传的结果,例如通过HTTP响应或重定向到一个新的页面。 总的来说,这个Java文件上传demo是一个实用的学习资源,可以帮助开发者快速掌握Java Web应用中的文件上传操作。通过深入...

    java实现文件上传和下载

    在这个类中,你可以定义上传文件的存储路径(`uploadPath`)和临时文件存储路径(`tempPath`)。 3. **配置Servlet**: 在`web.xml`配置文件中,需要声明你的Servlet,并设置其映射路径。这使得服务器知道何时调用...

    DOS 下对 INI 文件的解析

    一种常见的方法是先读取文件,用 `COPY` 或 `TYPE` 和管道 `|` 将内容重定向到临时文件,然后使用 `REPLACE` 命令替换特定文本,最后用 `COPY` 命令覆盖原始文件。 5. **自定义程序**:如果需要更复杂的 INI 文件...

    struts1和struts2分别实现文件上传下载功能

    用户发起下载请求时,Action会重定向到这个Servlet,Servlet读取文件并设置响应头,包括Content-Disposition(指示浏览器以附件形式下载)和Content-Type(指定文件类型)。最后,Servlet将文件内容写入到响应输出流...

    PHP远程文件下载解压压缩包.zip文件file文件操作类

    在实际使用中,你可以实例化这个类并调用`update`方法来更新远程的ZIP文件。这将自动下载文件并解压到指定的目录,更新本地文件。 总的来说,PHP通过内置的函数和类库,可以方便地处理远程文件下载和解压任务,为多...

    对python-3-print重定向输出的几种方法总结

    完成后,将sys.stdout重置为原来的值,关闭文件,并读取文件内容以在控制台查看输出。 方法3: ```python class FakeOut: def __init__(self): self.str = '' self.n = 0 def write(self, s): self.str += ...

    从Linux程序中执行shell(程序、脚本)并获得输出结果

    当你需要执行一个shell命令并收集其所有输出时,一个简单的办法是将命令的输出重定向到一个临时文件。这种方法的实现如下: ```c #define CMD_STR_LEN 1024 int mysystem(char* cmdstring, char* tmpfile) { ...

    第6讲 6.2.9文件型结构体.doc

    但如果我们想要将输出重定向到文件,就需要使用`fprintf`函数,并提供一个`FILE`类型的指针作为参数,这个指针就包含了上述结构体的信息。 在实际操作中,我们通常会使用`fopen`函数打开一个文件,这会返回一个`...

    struts2 文件上传源码

    11. **Struts2 Result**:文件上传成功后,通常会通过Struts2的结果类型将用户重定向到一个显示结果的页面。 12. **安全性考虑**:上传的文件可能携带恶意代码,因此应谨慎处理,避免执行未经验证的文件内容。例如...

    java文件上传源码资源

    使用`java.io.File.createTempFile()`方法可以在指定目录下创建临时文件。 5. **文件验证与处理**:在保存文件前,需要进行验证,如检查文件类型、大小、是否存在病毒等。可以使用`java.io`类库进行文件操作,如`...

    struts1实现文件上传和下载

    在这个示例中,我们使用`FileInputStream`读取文件内容,然后通过`HttpServletResponse`的`setHeader`方法设置响应头,使浏览器以附件形式下载文件。`IOUtils.copy`方法用于将文件内容写入到响应输出流中。 总的来...

    Struts2文件上传下载

    6. **返回结果**:上传成功后,你可以返回一个结果,重定向到一个显示成功消息的页面。如果上传失败,可以抛出异常或返回错误信息。 **文件下载** 1. **Action配置**:创建一个新的Action,负责处理文件下载请求。...

    用于文件上传下载的lua代码

    4. **文件读取**:读取并发送文件内容到客户端,可能需要处理大文件分块传输。 5. **访问控制**:可能需要检查用户权限,限制某些文件的访问。 6. **缓存控制**:通过设置HTTP头,可以控制客户端的缓存策略。 7. ...

    Servlet文件上传

    FileUpload库提供了`DiskFileItemFactory`和`ServletFileUpload`类,前者负责创建临时文件,后者解析请求并创建`FileItem`对象,每个对象代表上传的一个文件。 在Servlet中,我们需要检查请求是否包含文件,然后...

Global site tag (gtag.js) - Google Analytics