运行 一个 Python 函数在后台
Run a Python function in the background
我想在 Python 中写一个小闹钟脚本 3. 我想用 Click 使它成为一个 CLI 工具,这样我就可以传递闹钟时间、开始命令和停止命令.我不需要这方面的帮助。
我遇到的问题是,当我 运行 我的脚本/命令时,终端无法用于其他命令。所以我想 运行 程序在后台(或另一个线程?)。
示例:
CLI-command 1: define alarm '12:00:00'
CLI-command 2: start alarm
在我设置闹钟时间(定义闹钟)并启动启动功能(不断检查是否达到闹钟时间)后,我想在同一个终端上做其他事情。在 12:00:00 时,警报应发出声音。
正如我所说,该功能有效,但是当它 运行s 时,我无法使用同一终端进行其他操作。我如何设法将此过程(检查是否达到 alarm.time)置于后台,以便我仍然能够使用同一终端处理其他内容?
我想成为 os-独立(它应该 运行 在 Windows、Linux 和 Mac 上)。
有什么建议可以阅读或研究什么吗?
如果您想 运行 在后台执行任务,您可以创建一个进程来执行您想要的任务,然后让系统退出它。您可以通过以下方式做到这一点:
import os
import sys
pid = os.fork()
if pid == 0:
print("Running task")
sys.exit()
sleep(10000)
print("Task ended")
else:
print("Running another task")
如果您想在不增加代码本身复杂性的情况下实现这一点,您可以 运行 使用 screen command ,如下所示:
$ screen -d -m -S alarmclock python your_alarm_clock_script.py
“-d -m”将启动分离会话。 “-S”允许您命名该会话。
然后您可以使用:
$ screen -ls
$ screen -r
分别查看您的会话和恢复闹钟会话。
这是 OS 独立的,只要您的 OS 安装了 Bash。
我想在 Python 中写一个小闹钟脚本 3. 我想用 Click 使它成为一个 CLI 工具,这样我就可以传递闹钟时间、开始命令和停止命令.我不需要这方面的帮助。
我遇到的问题是,当我 运行 我的脚本/命令时,终端无法用于其他命令。所以我想 运行 程序在后台(或另一个线程?)。
示例:
CLI-command 1: define alarm '12:00:00'
CLI-command 2: start alarm
在我设置闹钟时间(定义闹钟)并启动启动功能(不断检查是否达到闹钟时间)后,我想在同一个终端上做其他事情。在 12:00:00 时,警报应发出声音。
正如我所说,该功能有效,但是当它 运行s 时,我无法使用同一终端进行其他操作。我如何设法将此过程(检查是否达到 alarm.time)置于后台,以便我仍然能够使用同一终端处理其他内容?
我想成为 os-独立(它应该 运行 在 Windows、Linux 和 Mac 上)。
有什么建议可以阅读或研究什么吗?
如果您想 运行 在后台执行任务,您可以创建一个进程来执行您想要的任务,然后让系统退出它。您可以通过以下方式做到这一点:
import os
import sys
pid = os.fork()
if pid == 0:
print("Running task")
sys.exit()
sleep(10000)
print("Task ended")
else:
print("Running another task")
如果您想在不增加代码本身复杂性的情况下实现这一点,您可以 运行 使用 screen command ,如下所示:
$ screen -d -m -S alarmclock python your_alarm_clock_script.py
“-d -m”将启动分离会话。 “-S”允许您命名该会话。
然后您可以使用:
$ screen -ls
$ screen -r
分别查看您的会话和恢复闹钟会话。
这是 OS 独立的,只要您的 OS 安装了 Bash。