我有一个 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/