bash – 将exec的输出发送到文件perl
发布时间:2020-12-15 17:00:22 所属栏目:安全 来源:网络整理
导读:问题 在perl中运行exec时,我无法将输出重定向到文件. 我在exec中运行vlc但是因为我怀疑每个人都设置了我已经用下面的echo替换它,它显示了相同的行为示例. 我只对exec’command’,’args’格式的exec感兴趣,而不是生成shell的那个,因为它生成了一个带有vlc的
问题
在perl中运行exec时,我无法将输出重定向到文件. 我在exec中运行vlc但是因为我怀疑每个人都设置了我已经用下面的echo替换它,它显示了相同的行为示例. 我只对exec’command’,’args’格式的exec感兴趣,而不是生成shell的那个,因为它生成了一个带有vlc的子shell,它仍会打印以清除其他问题并将其彻底清除. 码 use strict; use warnings; my $pid = fork; if (!defined $pid) { die "Cannot fork: $!"; } elsif ($pid == 0) { exec "/usr/bin/echo","done"; } 试着 exec "/usr/bin/echo","done",">/dev/null"; 正如预期的那样只打印“> / dev / null”,但值得一试. exec "/usr/bin/echo done >/dev/null"; 运行sh然后运行echo,在这里工作,但不是我在vlc的实际问题,我想我会包括,因为有人肯定会建议它. 题 当使用’command’,’args’到文件时,如何重定向此exec的输出? 额外 如需更多信息,请询问.
事实证明,您只需在exec之前更改文件描述符即可
use strict; use warnings; my $pid = fork; if (!defined $pid) { die "Cannot fork: $!"; } elsif ($pid == 0) { open STDOUT,">",'/logger/log' or die $!; open STDERR,'/logger/log' or die $!; exec "/usr/bin/echo","done"; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- angularjs – 如何与指令控制器中的隔离范围变量
- WebService入门-WebService跨程序调用
- angularjs – 如何使用ngRepeat将angularFire对象
- 将命令从命令行发送到Unix中正在运行的Python脚本
- angularjs – AngualrJS routeProvider路由到错误
- 如何在bash中获得0到999999999之间的随机(/ dev
- Using existing Bootstrap themes in Liferay (P
- Scala集合Map
- angularjs – 在ng-bind-html Angular JS中限制字
- 如何在AngularJs中使用ng-Cloak指令的实际使用?
热点阅读