【发布时间】:2014-11-07 07:36:46
【问题描述】:
我有一个从文件夹读取文件的 shell 脚本,使用该文件执行 python 脚本,然后将文件移动到另一个文件夹。 在服务器上,如果在前台运行,脚本可以正常工作,但如果它触发在后台运行,使用 & 注销它不会处理 python,而是移动所有文件。我什至尝试添加 disown ,它在注销时运行了大约 100 个文件,它只是移动了文件并且没有触发 python。这看起来很奇怪,shell 的一部分正在执行。
【问题讨论】:
-
您尝试过 nohup 命令吗?
nohup your-script > output.log 2> err.log & -
它是如何触发你的脚本在后台运行的?如果使用 crontab,请检查在 PATH 环境变量的目录中是否找到了 python 命令。 shell 会话(前台)中 PATH 变量的值与 crontab 中的不同。
-
如果我使用 nohup 未检测到文件,表示在 err.log 文件中找不到文件
-
我在后台使用 & 最后运行脚本
标签: python linux bash shell ubuntu