I use perl to call system start
that I need to specify the cpu number which I want my program to bind to.
When I use x86 perl, it will launch x86 cmd
to run the start command. This x86 start
doesn't accept the parameter 0x100000000
as it exceeds 32 bit length. If I use a x64 perl, the whole thing works fine because x64 perl launch x64 cmd
which accepts 0x100000000
.
So how can I launch a x64 cmd
to run the start
command when using a 32-bit perl?
Details:
First, I verified that 32bit cmd shell doesn't accept start /affinity 100000000
while 64bit cmd shell does. In 32bit cmd shell, it throws error The system cannot accept the START command parameter 100000000.
Then I tried x64 perl and x86 perl respectively and find x86 perl will get the same error. See commands below.
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}"
Is there any method to launch a x64 shell using x86 perl to excute start?