【问题标题】:Cron not working with python subprocessCron 不能与 python 子进程一起工作
【发布时间】:2013-12-17 15:53:58
【问题描述】:

我在 cron (Ubuntu) 中运行这个 python 脚本时遇到了一些问题,它在没有 cron 的情况下运行正常:

subprocess.call('/usr/bin/xdotool search --name bla.bla. windowactivate', shell=True)

克隆

4,7,10,15,20 * * * * /usr/bin/python /home/aaa/bbb/ccc.py

在 Cron 日志中,我只得到“未安装 MTA...”。有完整的路径,cron 可以调用 python 脚本(将脚本更改为简单的“hello world”就可以了)...我有点迷路了。

编辑

来自 cron 的输出:

Error: Can't open display: (null)
Segmentation fault (core dumped)

谢谢。

【问题讨论】:

  • 可以说这是stackoverflow.com/questions/13593935/…(和其他人)的副本,或者至少我建议从他们开始......具体来说,你可以将cron条目更改为 /usr/bin/ python /home/aaa/bbb/ccc.py &> /home/aaa/bbb/ccc.out 并发布 ccc.out?
  • 有几个问题与我的非常相似,尝试了很多解决方案,但到目前为止都没有奏效。我已经用输出编辑了问题。

标签: python ubuntu cron


【解决方案1】:

按照@Foon 的建议记录输出后,我找到了一种解决方案:

subprocess.Popen('XAUTHORITY=/home/user/.Xauthority DISPLAY=:0 /usr/bin/xdotool search --name bla.bla. windowactivate', shell=True)

问题解决了!

【讨论】:

  • 您能描述一下您的解决方案以及您是如何找到它的吗?您是如何安装 cron 等的?
  • 我的问题与 XDOTOOL 有关,谷歌搜索日志错误,给我带来了许多类似的问题,其中一个说要添加 XAUT..DISPLAY .. .要安装 cron(Ubuntu、Raspbian),只需 sudo crontab -e 并将该行添加到 crontab 的底部。我的 cron 调用一个 python 脚本,该脚本在每小时/每天/每周/每月的指定分钟(4、7、10、15、20)运行。在 python 脚本中,我从一个名为 bla.bla. 的软件中调出窗口,然后我执行其他操作,例如按键。
猜你喜欢
  • 2018-04-03
  • 2013-02-28
  • 1970-01-01
  • 2016-07-17
  • 1970-01-01
  • 2021-01-09
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
相关资源
最近更新 更多