python - 在 Python 中运行 shell 脚本一段给定的时间

标签 python cron streaming

我有一个 python 代码,可以生成从 Ustream 录制直播流的命令。

我想设置一个 cronjob 每周运行一次这个脚本来录制节目,是否有我可以在 python 代码中使用的代码,以便在生成正确的命令后执行给定的时间然后停止它?

我想应该有一种方法来运行脚本,等待所需的时间,然后使用它的 ID 终止进程。这是正确的吗?

最佳答案

您可以让已启动的进程在启动时将其进程 ID 写入文件。然后创建另一个 cron 作业来读取该文件并终止该文件中的进程 ID。

您也可以(而不是修改已启动的进程)创建一个“starter”bash 脚本,将已启动进程的 ID 写入文件:

#!/bin/bash -e
nohup python ustream_recorder.py > /tmp/ustream_recorder.log 2>&1 &
echo $! > /tmp/ustream_recorder.pid

然后,杀死它:

#!/bin/bash -e
kill -INT `cat /tmp/ustream_recorder.pid`
rm /tmp/ustream_recorder.pid

关于python - 在 Python 中运行 shell 脚本一段给定的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12888205/

相关文章:

python - Tastypie的自定义授权中create_list指的是什么?

php - Cron 作业的 .sh 脚本中的好命令

java - crontab 不适用于运行 java 类

google-app-engine - 从任务队列运行 appengine 备份

java - 将音频从客户端流式传输到服务器再到多个客户端 Java

java - Hadoop Streaming简单作业失败错误python

python - QTableView 未在 dataChanged 上更新

python:卡片目录的容器 - sqlite,dict,其他?

python - 具有相同名称的模块和参数

ffmpeg - 通过局域网使用 VLC +FFmpeg 流式传输网络摄像头 - 错误 : cannot pre fill buffer