2016-10-31 19 views
0

私は、VLCメディアプレーヤーがUbuntuシステムで動作するたびに、曲のパスを保存するPythonスクリプトを作成しています。スクリプトは準備ができていますが、起動時にこのスクリプトを実行すると、ループ内でCPU共有が継続的に使用されます。ユーザーがvlc media playerを起動するたびにスクリプトを自動的に起動したい。どうしたらいいですか?どのシェルスクリプトでも可能ですか?UbuntuでVLCメディアプロセスが毎回起動するときにPythonスクリプトを自動的に呼び出す方法は?

答えて

1
import os,time 

processname = 'enter the VLC process name' 
tmp = os.popen("ps -Af").read() 
proccount = tmp.count(processname) 

while proccount > 0: 
    print(proccount, ' processes running of ', processname, 'type') 
    runsongpathfunction() 
    time.sleep(1) 

それでは、これがないと、それはVLCを閉じたときに、プロセス名からプロセスは、スクリプトが終了し、whileループは、もはや真であるので、それはVLCを実行していた間、それはやっていたものは何でもやって停止しない見つけています。私はリソースを節約するためにtime.sleep(1)を追加しました。しかし、それはCPUを節約します。

+0

このスクリプトは、私のシステムでVLCを実行するとき、またはスタートアップアプリケーションとして追加するときに自動的に呼び出されます。 – fdfv

+0

スタートアップアプリケーションを追加し、VLCプロセス名変数を入力する必要があります。私はchron仕事を使用することをお勧めします。 – thesonyman101

+0

私はこれに2つの問題があります。まず、起動アプリケーションとして追加し、vlcが実行されていない場合、whileループが中断され、スクリプトが停止します。第二に、vlcが実行されていなくても、'vlc 'タイプの4つのプロセスが実行されています。どうして? – fdfv

関連する問題