簡體   English   中英

如何在 x 時間后重新啟動 python 腳本?

[英]How to restart a python script after x amount of time?

我有一個腳本,可以錄制 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM