【问题标题】:How to run python script from termux?如何从termux运行python脚本?
【发布时间】:2020-10-24 22:04:57
【问题描述】:

我已经设法使用 cronjob 从我的计算机运行脚本。很难完成,但我设法看到了一些意义。问题是大多数时候我不在我的电脑上并且希望脚本定期运行。我知道有 AWS 或 Google Cloud 之类的服务,但很好奇是否可以通过我的手机运行。这就是我最终尝试 termux 的原因。

问题是我不知道如何让它工作以及为什么它不工作。

我的 Mac 上的 cronjobs 是:

*/5 * * * * /PATH.TO/python3 /PATH.TO/main.py
30 * * * * /PATH.TO/python /PATH.TO/TEST.Json.py 

即使我采用相同的逻辑并将其应用于我的手机,它也不起作用

*/1 * * * * /data/data/com.termux/files/usr/bin/python /data/data/com.termux/files/home/storage/shared/scripts/script.py

为什么?

【问题讨论】:

  • 我不相信 termux/android 支持 cron
  • 当我要求它生成一个日志文件时,它确实生成了一个日志文件,但无法查看其中的内容。文件在那里,但似乎是空的......
  • 考虑按照answer 中的建议来调试您的问题

标签: python termux


【解决方案1】:

我建议在这里查看 Termux:Tasker:https://wiki.termux.com/wiki/Termux:Tasker

您应该能够将 cronjob 进程附加到 Tasker 并指定它在后台运行。

不幸的是,它是 1.99 美元。您将需要 Tasker 和 Termux:Tasker。 首先打开 Termux。并输入mkdir -p .termux/tasker。使用cd ./termux/tasker 移动到新创建的文件夹并使用vimnano 创建您的脚本。你可能也需要pkg install python

然后移动到 Tasker,创建一个任务,然后随意命名。在任务中,添加一个 Plugin:Termux 命令并将配置设置为您正在运行的脚本。为了以防万一,我会在超时前至少 15 秒。如果您愿意在终端中运行它,您将看到输出,或者您可以添加另一个命令,这次是 Alert:Flash 与文本 %stdout。这将显示上一个命令的输出,在本例中为 python 脚本。

最后一步是创建配置文件以触发任务。我不确定你到底想让它触发什么,但例如,你可以让它每 2 分钟、每次连接到 Wi-Fi 网络或每次收到短信时关闭。然后只需将其指向您之前创建的任务。

【讨论】:

  • Termux 和 Termux Tasker 应该从 F-Droid 获得。不是因为我这么说,而是因为 Google Play 适合任何东西 Termux 是生命终结reddit.com/r/termux/comments/pkujfa/… 这也是一件好事,因为现在价格标签是 0 美元。
【解决方案2】:

所以,我遇到了和你一样的情况。您是否执行了以下操作?:

  1. 在手机上获取唤醒锁
  2. crond start

如果是,那么您的程序是否在没有 cron 的情况下运行,例如: /data/data/com.termux/files/usr/bin/python /data/data/com.termux/files/home/storage/shared/scripts/script.py

【讨论】:

  • 每当我看到 /data/data/* 路径时,我都会问自己这是否是一个小故障。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-10
  • 2017-05-18
  • 1970-01-01
相关资源
最近更新 更多