perl system和exec 调用

perl system和exec 调用,第1张

概述system 函数:[oracle@jhoa 10]$ cat 1.pl system "date";[oracle@jhoa 10]$ perl 1.pl Sat Oct 11 15:39:51 CST 2014[oracle@jhoa 10]$ cat 1.pl system "sleep 60";[oracle@jhoa ~]$ ps -ef | grep 1.plor
system 函数:[oracle@jhoa 10]$ cat 1.pl system "date";[oracle@jhoa 10]$ perl 1.pl Sat Oct 11 15:39:51 CST 2014[oracle@jhoa 10]$ cat 1.pl system "sleep 60";[oracle@jhoa ~]$ ps -ef | grep 1.ploracle    8796  7930  0 15:40 pts/0    00:00:00 perl 1.ploracle    8835  8801  0 15:40 pts/1    00:00:00 grep 1.pl[oracle@jhoa ~]$ ps -ef | grep 8796oracle    8796  7930  0 15:40 pts/0    00:00:00 perl 1.ploracle    8797  8796  0 15:40 pts/0    00:00:00 sleep 60oracle    8837  8801  0 15:40 pts/1    00:00:00 grep 8796[oracle@jhoa ~]$ ps -ef | grep 8797oracle    8797  8796  0 15:40 pts/0    00:00:00 sleep 60oracle    8839  8801  0 15:40 pts/1    00:00:00 grep 8797会创建一个子进程来运行sleep 命令,并且它继承了Perl的标准输入,标准输出和标准出错[oracle@jhoa 10]$ cat 2.pl unless (system "date") {print "$!\n";print "We gave you a date,Ok!\n";}[oracle@jhoa 10]$ perl 2.pl Sat Oct 11 16:15:01 CST 2014We gave you a date,Ok! *** 作符的返回值是根据子进程的结束状态来决定的,在Unix里,退出值0代表正常,非0值则代表有问题0在Perl里代表假exec 函数到目前为止,我们提到的system函数的所有语法也都适用于exec函数。当然有一个重要的例外,system函数会创建子进程,子进程会在Perl睡眠期间执行任务。而exec 函数却导致Perl进程自己去执行任务。这类似于程序调用与goto的差别[oracle@jhoa 10]$ cat 3.pl unless (exec  "sleep 60") {print "$!\n";print "We gave you a date,Ok!\n";}[oracle@jhoa ~]$ ps -ef | grep sleeporacle    9014  7930  0 16:47 pts/0    00:00:00 sleep 60oracle    9016  8801  0 16:47 pts/1    00:00:00 grep sleep[oracle@jhoa ~]$ ps -ef | grep 7930oracle    7930  7929  0 09:15 pts/0    00:00:00 -bashoracle    9014  7930  0 16:47 pts/0    00:00:00 sleep 60oracle    9020  8801  0 16:47 pts/1    00:00:00 grep 7930exec 函数却导致Perl进程自己去执行任务。[oracle@jhoa 10]$ perl 4.pl Sat Oct 11 16:55:23 CST 2014[oracle@jhoa 10]$ cat 4.pl exec "date";system "ls";[oracle@jhoa 10]$ perl 4.pl Sat Oct 11 16:55:28 CST 2014exec 后面写的任何代码都无法运行
总结

以上是内存溢出为你收集整理的perl system和exec 调用全部内容,希望文章能够帮你解决perl system和exec 调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1275772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存