我想在ubuntu服务器上运行一个exectable,它接受来自用户的参数(比如来自表单),这个可执行文件可能需要很长时间才能完成。我目前正在使用php exec()命令来运行可执行文件(让我们调用可执行文件myExecutable)并将其传递给用户提供的参数。 有没有更好的方法来做到这一点,特别是要记住可执行文件可能需要很长时间才能完成?
答案 0 :(得分:0)
至于“长时间”问题,我会在逻辑上关闭与客户端的连接,并在后台继续处理脚本。 https://stackoverflow.com/a/141026/2646455
至于在您的服务器上运行接受用户输入作为参数的脚本,我强烈建议您评估,重新评估和三重评估将用户输入直接放入服务器脚本的必要性。如果这绝对是实现目标的唯一途径,那就将严肃的思想置于这样一个目标的安全隐患之中。
我可能会写脚本来接受标志。然后,如果存在用户提供的标志,则基于此构建命令行参数。但我会尽量避免不惜一切代价将用户输入直接转储到服务器脚本中,而无需以某种方式清理或过滤它。