如何从python向终端发送停止命令

时间:2018-12-06 04:21:16

标签: python python-3.x terminal

Python发送:

os.system("sudo openvpn openvpn.ovpn")

到终端

我如何告诉终端机收听我的下一个命令 我正在尝试发送

sys.exit()

但这不起作用

该程序的编码为tkinter,并且有一个按钮可以选择vpn, 但是我也想做一个停止按钮。

2 个答案:

答案 0 :(得分:2)

sys.exit将导致当前进程退出。您可以尝试POpen然后使用

之一
Popen.send_signal()
Popen.kill()
Popen.terminate()

导致子进程退出。例如:

subp = subprocess.Popen("some command" )
subp.send_signal( 9 );

答案 1 :(得分:0)

def clicked():
    process = subprocess.Popen(['sudo','openvpn','--config',var.get()])

def clicked2():
    process.kill()

进程在另一个定义的函数中,所以我无法调用它,无论如何我可以在另一个函数中调用它?