在x amount tim之后重新启动python脚本

2024-06-13 00:30:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本,录制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()

Tags: import脚本adddatetimemakepipelinelinkgi