小编joh*_*ohn的帖子

在Perl中运行system()命令时显示进度

我有一个执行某些任务的Perl脚本,其中一个是调用system命令"tar -cvf file.tar.....".

这通常需要一些时间,所以我希望命令行回显一个进度指示器,比如#system呼叫正在进行时回显到屏幕.

我一直在做一些挖掘并偶然发现fork.这是最好的方式吗?是否可以分叉system命令,然后创建一个while循环来检查$pidfork返回的状态?

我也看到过waitpid....我猜我也需要使用它.

fork system("tar ... ")
while ( forked process is still active) {
    print #
    sleep 1
}
Run Code Online (Sandbox Code Playgroud)

我吠叫错了树吗?

非常感谢约翰

perl

7
推荐指数
3
解决办法
3720
查看次数

标签 统计

perl ×1