我使用 perl 来调用system start
我需要指定我希望我的程序绑定到的 cpu 编号。
当我使用 x86 perl 时,它会启动 x86cmd
来运行 start 命令。此 x86start
不接受该参数0x100000000
,因为它超过 32 位长度。如果我使用 x64 perl,整个事情都可以正常工作,因为 x64 perl 启动 x64cmd
接受0x100000000
.
那么在使用 32 位 perl 时如何启动 x64cmd
来运行命令?start
细节:
首先,我验证了 32 位 cmd shell 不接受start /affinity 100000000
,而 64 位 cmd shell 可以。在 32 位 cmd shell 中,它会抛出错误The system cannot accept the START command parameter 100000000.
然后我分别尝试了x64 perl和x86 perl,发现x86 perl会得到同样的错误。请参阅下面的命令。
path/to/x64/perl.exe -e "system qq{start /b /wait /affinity 100000000 my.exe}"
path/to/x86/perl.exe -e "system qq{start /b /wait /affinity 100000000 my.exe}"
有什么方法可以使用 x86 perl 启动 x64 shell 来执行启动?