为什么我的python脚本在从PHP调用时会在后台消亡



我想让一个PHP程序调用一个python程序,并让它在后台运行。当我从shellnohup python3 automation.py args >/dev/null 2>&1 &调用此函数时,一切都运行良好。我运行了topjobs,可以看到它正在执行。脚本成功完成。

现在我希望这个脚本从PHP程序中调用,然后在后台运行,所以我使用这个命令,与上面的命令相同。为了使程序不挂起,我将其输出为null。exec('nohup python3 automation.py args >/dev/null 2>&1 &')

当我服用top时,一切都会正常运行一段时间,但几秒钟后它就死了,我只能挠头想为什么。如何对此进行故障排除?

问题已解决。执行命令时使用PHP的linux用户是www-data。该用户没有该文件的写入权限。要以www数据的身份登录进行测试,请运行此su -s /bin/bash www-data。在shell中执行的任何命令都应该等效于从PHP调用它。

最新更新