使用php / node / python脚本的START / B无法按预期工作
我启动一个
shell,然后运行以下命令:
START "" /B php test.php>nul 2>&1 出于本文的目的,test.php由1行组成:file_put_contents(“test”,“test”); 您希望它立即创建一个名为test的文件,但事实并非如此. 我已尝试使用node,python2和python3的等效命令.它们都做同样的事情,虽然python3足够需要在运行脚本之前按两次回车键. 使用脚本解释器运行START / B时,这似乎是一个怪癖.如果我用.exe或.bat运行START / B,它会按预期运行. 现在,显然我不需要运行创建名为’test’的文件的后台进程.我需要它做的是启动一个用php编写的守护进程和一个用nodejs编写的守护进程,一个接一个地在同一个终端中. 我还注意到,如果我将这些命令写入批处理文件并通过双击批处理文件而不是从shell调用它来运行它们,那么它将按预期运行. 请帮忙.我已经和这个问题摔跤了2天了. 编辑: 我刚刚发现这个问题对我的计算机来说是独一无二的,在Windows 10上运行.我在Windows 7和Windows XP上试过,他们不需要额外的返回输入来运行脚本…… 我刚尝试在安全模式下启动并清除路径变量.它仍然存在. 编辑2: 刚刚在Windows 8计算机上测试了相同的脚本,这意外地完成了我的Windows 10计算机所做的事情.所以看起来只有Windows 8和Windows 10才有这个问题……并且使用传统模式没有任何区别. 这是一个gif动画,确切地说会发生什么: 证明脚本仅在第二个返回键上运行. 解决方法
您可以尝试< NUL向命令发送额外的Enter.
start "" /b php test.php <NUL Re:为什么会发生这种情况,对不起,我无法回答这一部分.错误?安全?未记载的功能? *耸肩* (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |