我不知道为什么这不起作用,但也许我已经过于简单/过于复杂的事情
我正在编写一个Perl脚本,最终需要调用一个外部程序。 值得一提的是,这个程序需要LD_LIBRARY_PATH环境variables的修改版本,以便find供应商不在标准位置安装的一对库。
好的,环境是%ENV ,可以重写,是吗?
我想如果我改变父母的LD_LIBRARY_PATH ,它会影响孩子的dynamic链接。
C中使用共享内存的IPC
如果父母没有调用wait(),那么相同父项的两个子项不使用pipe道进行通信
用System V信号量实现条件variables
UNIX / Linux IPC:从pipe道读取。 如何知道运行时的数据长度?
所以我有:
use Env qw(@LD_LIBRARY_PATH); use IPC::System::Simple qw(capturex $EXITVAL); # We need these to establish the call to rsq later my ($rsqexe,$rsqhome,$suffix) = fileparse($config->rsq()); push @LD_LIBRARY_PATH,$rsqhome; eval { $output = capturex( $config->rsq(),qq/"$source"/ ); };
但是subprocess死了,显示共享库无法find。
我怎样才能改善这个?
我需要在成功执行后检查$output的内容。
如何撤消信号量的最新操作SEM_UNDO?
与DLL通信
写入SOCK_SEQPACKETprimefaces?
Linux上用于Java / C ++应用程序的共享内存IPC的很好替代scheme
跨内存附加。 无法使用pipe道发送远程地址
eval { $output = capturex( $config->rsq(),qq/"$source"/ ); };
问题在于:我没有检查$@ (如果use ENGLISH;则不是$EVAL_ERR use ENGLISH; )
如果我有,我会看到问题是引用qq/"$source"/ – 因为capturex() 不调用shell(这是所需的行为)引号破坏文件的名称(即test.pdf存在,但""test.pdf""不)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。