David.Z的个人空间 https://blog.eetop.cn/zengwen [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

perl进程管理

已有 454 次阅读| 2023-4-27 17:52 |个人分类:日常记录|系统分类:芯片设计

#1  调用外部命令  调用命令的perl程序为该命令的父进程,继承当前perl的标准输入标准输出

system 'ls -al $HOME';      #不使用变量内插
system "ls -al \$HOME";      #\$代表 $ 一个字符
system "ls -al $HOME";       #$HOME代表perl程序中的标量$HOME;

 #system退出状态为0代表正常;

unless (system 'ls -al') {print "cannot run shell\n";}
!system 'ls -al' or die "cannnot run shell\n";

#exec  操作符也能执行外部命令,但是会结束当前perl


#2查找环境变量

环境变量存储在%ENV的哈希变量中  例子:

my $path=$ENV{'PATH'};
print $path;



#3使用文件句柄执行外部进程

open DATE ,'-|','date' or die "cannot pipe from date:$!";
open MAIL, '|-','mailmerlyn' or die "cannot pipe to mail:$!";

|  在右边时表示该命令的输出连接到文件句柄DATE中,在左边表示命令的输入从文件句柄MAIL中读取

使用close关闭文件句柄时PERL会等待该进程结束然后取得结束状态,结束状态存于$?变量中,零表示成功,非零表示失败;使用system和反引号结束状态也会被存于$?变量中。

如果PERL在读取文件句柄时,外部命令没有数据输出,那么PERL就会停止运行等待数据输出为止。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 25

    粉丝
  • 7

    好友
  • 45

    获赞
  • 1000

    评论
  • 173

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-13 04:51 , Processed in 0.023434 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部