linux用python编程,linux执行python脚本命令

  linux用python编程,linux执行python脚本命令

  13.3.2如何实现波普http://www.Sina.com/.有两种效果,一种是好的,一种是坏的。

  在linux上,所有的参数扩展都是由shell完成的。因此,如果在启动程序之前启动shell并分析命令字符串,就可以在启动程序之前完成各种shell扩展功能,比如*所指向的文件。c .这个功能非常方便,可以在popen上启动非常复杂的shell命令。此外,还有创建其他进程的函数。

  使用shell的一个不利影响是,每个popen调用不仅会启动请求的程序,还会启动shell。也就是说,每个popen调用将启动两个额外的进程。从节省系统资源的角度来说,popen函数的调用成本略高,目标命令的调用比通常的方法略慢。

  popen函数的行为如请求popen调用运行一个程序时,它首先启动shell,即系统中的sh命令,然后将command字符串作为一个参数传递给它所示。这个程序程序popen4.c使用cat命令显示文件内容,并通过管道将输出传递给命令wc -l,用于统计总行数。如果要在命令行中完成此任务,请使用以下命令:

  $ cat popen*。c wc -l

  实际上,输入命令wc -l popen*更简单、更高效。但是在这个例子中,我们将如上所述使用它来演示popen函数是如何工作的。

  编写程序popen4.c

  /* * * * * * * * * * * * * * * * * * * * * *这是将所有popen示例程序的源文件的总行数设置为Author:liubinbinbingbix * * * * * * * * * * * * * includesstdio . h # includestdlio . h # includestdlio . h # includestdlistd . h # includestdlistd int chars _ read;Memset (buffer, \0 ,sizeof)缓冲区);read _ FP=popen ( cat popen *。cWC-l , r );If (read _ FP!=null}{chars_read=fread(buffer,sizeof ) char)、BUFSIZ、read _ FP);printf(chars_read=%d\n),chars _ read);while(chars _ read 0){ buffer[chars _ read-1]= \ 0 ;打印(读取:-\ n% s\n),缓冲区);chars_read=fread(buffer,sizeof ) char)、BUFSIZ、read _ FP);} pclose(read _ FP);退出(exit _ success}退出(exit _ failure);}这个程序显示shell启动后,popen*。c扩展到文件列表。列表中的所有文件名都以popen开头,以。c . shell还处理管道符号,并将cat命令的输出传递给wc命令。shell、cat程序和wc程序通过popen调用启动,逐行执行。

  popen4.c程序的结果如下所示。(cat popen*返回的值146。c wc -l保存在read _ FP指定的文件中。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: