我可以做其中一个但不能两个都做。如果我使用&符号使它在后台运行,那么它按预期工作:
popen( "gzip -dc diskImageFile.gz | dd bs=32000000 of=/dev/sd%c status=progress &" );
如果我将它设置为将stderr重定向到stdout,那么它会按预期工作:
popen( "gzip -dc diskImageFile.gz | dd bs=32000000 of=/dev/sda status=progress 2>&1" );
但如果我尝试两者兼有,那么它就不再在后台运行了。如何同时执行stderr的重定向并在后台运行?
popen( "gzip -dc diskImageFile.gz | dd bs=32000000 of=/dev/sda status=progress 2>&1 &" );
我在Raspberry Pi(Debian)上这样做
答案 0 :(得分:2)
popen
启动另一个独立于调用进程运行的进程。没有必要让&符号在后台运行它已经存在了。