加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 在perl中的fork实现

发布时间:2020-12-14 04:04:21 所属栏目:Windows 来源:网络整理
导读:我想在perl中执行子进程.我还希望我的代码与平台无关(对于 windows和unix都是一样的,除了像filepath等一些故障). 问题是在Windows中perl实现fork,是一个伪进程,实际上是一个线程.请参阅windows here的perl fork仿真. 它还提到了在伪进程上执行kill和exec命令
我想在perl中执行子进程.我还希望我的代码与平台无关(对于 windows和unix都是一样的,除了像filepath等一些故障).

问题是在Windows中perl实现fork,是一个伪进程,实际上是一个线程.请参阅windows here的perl fork仿真.

它还提到了在伪进程上执行kill和exec命令时出现的问题.在不同平台上使用两个不同版本的fork是否安全,还是应该使用特定于操作系统的API?

Forks::Super已经担心并解决了很多这些可移植性问题,让你可以像我这样移植代码
use Forks::Super;

$pid = fork();
if ($pid != 0) {
   ...
   if (kill 'ZERO',$pid) { print "Job is running.n"; }
   kill 'STOP',$pid; # or $pid->suspend
   kill 'CONT',$pid; # or $pid->resume
   kill 'TERM',$pid; # or $pid->terminate
   waitpid $pid,0;   # or $pid->wait or $pid->waitpid(0)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读