在我的python脚本中,我通过以下命令在app模式下打开chrome:
google-chrome --app = http://stackoverflow.com
现在我希望能够只关闭这个正在运行的chrome应用程序(我的意思是如果有另一个带有不同选项卡的chrome窗口我不想关闭它,只有这个我运行)。这可能吗?如何?
我正在使用linux。
编辑: 到目前为止我设法做这样的事情:
import subprocess
proc = subprocess.Popen(['google-chrome',
'--user-data-dir=/home/chrome-user', 'http://google.pl'])
# do something
proc.terminate()
当我从命令行调用这个python脚本时,一切正常。当我将其作为linux服务(在/ etc / init下)运行时,我的问题就出现了。我记录了,一切都很好,除了谷歌铬似乎无法创建窗口或东西?我的意思是没有错误,但谷歌浏览器窗口根本没有显示。
编辑2: 绝对是启动时的问题。当我在启动时运行它:
mate-terminal -e“python3 /path/to/script/script.py“
除了显示终端窗口外,一切正常。所以这以某种方式解决了我的问题但是如果有人会有任何消化我能做什么我会高度赞成它。
答案 0 :(得分:0)
据我所知,chrome为每个标签创建了一个新进程,因此可以解决该过程。您可以通过PID终止进程,并且可以在启动进程后立即检索PID :(在bash中)echo $!
答案 1 :(得分:0)
好的,经过很长一段时间我才回答。在linux mint中你需要将它添加到启动程序中:
mate-terminal -e" python3 /path/to/script/script.py"
如果你想以root用户身份运行脚本,这就是它的解决方案(它非常难看,但有效):
mate-terminal -e" bash -c' echo pass | sudo -S python3 /path/to/script/script.py;$SHELL'"