Как отправить команду остановки из python в терминал - PullRequest
0 голосов
/ 06 декабря 2018

Python отправляет:

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

на терминал

как мне указать терминалу прослушать мою следующую команду, которую я пытаюсь отправить

sys.exit()

, ноона не работает

Эта программа имеет код tkinter, и есть кнопка для выбора vpn, но я также хочу сделать кнопку остановки.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018
def clicked():
    process = subprocess.Popen(['sudo','openvpn','--config',var.get()])

def clicked2():
    process.kill()

процесс находится в другой определенной функции, поэтому я не могу вспомнить его, в любом случае, я могу вспомнить, что в другой функции?

0 голосов
/ 06 декабря 2018

sys.exit вызовет выход из текущего процесса.вы можете попробовать POpen, а затем использовать один из

Popen.send_signal()
Popen.kill()
Popen.terminate()

, чтобы вызвать выход из подпроцесса.например:

subp = subprocess.Popen("some command" )
subp.send_signal( 9 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...