python - 如何在 x 时间后重新启动 python 脚本?

标签 python shell

我有一个脚本可以录制 15 秒的音频,然后自行终止(这需要发生,因为这是使用 gstreamer 停止录制的唯一方法)。

现在,我想让这个脚本在 2 分钟后无限期地重新启动。

如何?

我无法在脚本本身中执行此操作,因为进程最终会被终止,而且我无法弄清楚如何使用另一个 python 脚本或 bash(或 shell)从外部执行此操作。任何帮助将不胜感激。

这是代码。名称为 Rscript.py

import gi
import datetime, time
import sys
import signal  
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst, Gtk
GObject.threads_init()
Gst.init(None)

pipeline = Gst.Pipeline()

autoaudiosrc = Gst.ElementFactory.make("autoaudiosrc", "autoaudiosrc")
audioconvert = Gst.ElementFactory.make("audioconvert", "audioconvert")
vorbisenc = Gst.ElementFactory.make("vorbisenc", "vorbisenc")
oggmux = Gst.ElementFactory.make("oggmux", "oggmux")
filesink = Gst.ElementFactory.make("filesink", "filesink")
url = datetime.datetime.now()
filesink.set_property("location",url)
pipeline.add( autoaudiosrc)
pipeline.add( audioconvert)
pipeline.add( vorbisenc)
pipeline.add( oggmux)
pipeline.add( filesink)

autoaudiosrc.link( audioconvert)
audioconvert.link( vorbisenc)
vorbisenc.link( oggmux)
oggmux.link( filesink)

pipeline.set_state(Gst.State.PLAYING)
signal.alarm(15)
Gtk.main()

最佳答案

使用以下内容:

#!/bin/bash
while [[ 1 ]];do
    myapp &
    pid=$!
    sleep 120
    kill -9 $pid
done

关于python - 如何在 x 时间后重新启动 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34266606/

相关文章:

python - 优化半素因式分解算法

python - 创建 JSON 对象时如何使用列名,Python

python - 将 Django 1.6 升级到 1.7。 "related_name"的通用关系有任何变化吗?

python - 用线程 boost python

python - 如何使用任何脚本(python/shell)自动插入和解析xml元素?

linux - 类似 shell 的命令行交互式应用程序框架

Python日期字符串到日期对象

Bash 脚本删除超过 N 天的文件,但排除特定文件夹中的文件

mysql - 在 shell 脚本中将 MySQL 命令行中的表名作为参数传递

linux - 如果有尾随字段,为什么 sort 命令排序不同?