我正在尝试用python编写一些简短的脚本,如果还没有启动,它将在子进程中启动另一个python代码,否则终止终端&;app(Linux)。
看起来像是:
#!/usr/bin/python
from subprocess import Popen
text_file = open(".proc", "rb")
dat = text_file.read()
text_file.close()
def do(dat):
text_file = open(".proc", "w")
p = None
if dat == "x" :
p = Popen('python StripCore.py', shell=True)
text_file.write( str( p.pid ) )
else :
text_file.write( "x" )
p = # Assign process by pid / pid from int( dat )
p.terminate()
text_file.close()
do( dat )
有一个问题,就是不知道用pid命名进程,应用程序从文件“.proc”中读取哪个进程。 另一个问题是解释器说名为dat的字符串不等于“x”???我错过了什么?
我想做同样的事情,但我想在一个文件里做。
所以逻辑是:
我修改了巴库留的答案,得出了如下结论:
运行脚本将执行脚本所执行的任何操作。运行脚本的另一个实例将杀死脚本的任何现有实例。
我用这个来显示一个小PyGTK日历小部件,当我点击时钟时运行。如果单击而日历未打开,则显示日历。如果日历正在运行,我单击时钟,日历将消失。
使用awesome^{} 库非常简单:
如果不想安装新库,可以使用
os
模块:另请参见^{} documentation 。
如果您有兴趣启动命令
python StripCore.py
(如果该命令未运行)并终止它,则可以使用psutil
可靠地执行此操作。类似于:
样本运行:
注意:在以前的
psutil
版本中,cmdline
是一个属性而不是一个方法。相关问题 更多 >
编程相关推荐