我有一个python代码,用于生成从Ustream录制实时流的命令。
我想设置一个cronjob来运行这个脚本每周一次来记录一个节目,是否有一个我可以在python代码中使用的代码,以便在生成正确的命令之后执行一段时间然后停止它?
我想应该有办法运行脚本,等待所需的时间,然后使用它的ID杀死进程。这是对的吗?
答案 0 :(得分:2)
您可以让启动的进程在启动时将其进程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