zoukankan      html  css  js  c++  java
  • perl学习(9)进程管理

    一:system

      system函数是启动perl子程序最简单的方法。eg:system “date”

    1:可以利用shell功能来启动后台进程

      system "run_cmd with parameters &";#在后台执行

    2:system执行正常返回值为0,否则返回值非0.

    3:支持多个参数

    二:exec function

      类似于system;

      区别:system会创建子进程执行外部命令,父进程等待创建的子进程结束并继续执行下面代码;而exec不会开启子进程。而是取代父进程成为新的父进程,一般和fork配合使用;exec调用之后写的任何代码都无法运行。

    三:环境变量

      %ENV:修改%ENV可以改变环境变量,但不影响shell或者其他父进程

    四:反引号捕获输出结果

    五:fork进行并发操作

      fork从一个进程中创建两个进程,如果成功,该函数给父进程返回新创建的子程序ID,而给子程序返回0。如果系统没有足够的资源分配一个新的进程,那么调用失败并返回undef。

      父进程可以使用waitpid函数来等待子进程的结束

      eg:

      

      

      输出:当命令行为0时,执行else段,系统fork自动给值,pid得到子程序的ID值,所以先执行父程序段,再执行子程序段,若在父程序段出现waitpid,则进入子程序,执行完子程序再执行剩下的父程序。

      

      

  • 相关阅读:
    题解-CF1097F Alex and a TV Show
    题解-UVA757 Gone Fishing
    题解-UVA1401 Remember the Word
    题解-UVA11732 "strcmp()" Anyone?
    【数学】[AH2017/HNOI2017]礼物
    Educational Codeforces Round 109
    KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)
    Codeforces Global Round 14
    CF906E Reverses(H)
    【LuoguP4464】 [国家集训队] JZPKIL(M)
  • 原文地址:https://www.cnblogs.com/xh13dream/p/8645204.html
Copyright © 2011-2022 走看看