Как вы на самом деле выйти из сценария Python? - PullRequest
0 голосов
/ 15 марта 2019

Ничего из этого kill -9 или что-то близкое.Какой ответ?

import sys 
import os

try:
        exit()
        sys.exit()
        os._exit()
        quit()
except:
        print("THIS SHOULD NOT RUN")

Это смешно с языком Python, если любая попытка перехвата abort() или что-то в этом роде мешает ему умереть.

Это не то, что существует на любом другом языке, который я знаю.abort() является чрезвычайной мерой безопасности.

Ответы [ 3 ]

1 голос
/ 15 марта 2019

Продолжая то, что уже было объяснено @Mike Scotty:

Выбор одного: (sys.exit())

sys.exit() вызывает исключение, а именно SystemExit. Вот почему вы приземлились в except-block.

Пример :

import sys

try:
    sys.exit()
except:
    print(sys.exc_info()[0])

OUTPUT

<class 'SystemExit'>

В глубину :

import sys

try:
    sys.exit() # this always raises SystemExit
except SystemExit:
    print("sys.exit() worked as expected")
except:
    print("Something went horribly wrong") # some other exception got raised

OUTPUT

sys.exit() worked as expected

Источник

0 голосов
/ 15 марта 2019

Ну, мне не нравится, как Python справляется с этим, но я нашел решение, и оно действительно kill -9:

Отказ от ответственности : К сожалению, вам нужно запустить и запустить процесс от имени пользователя root.

os.system("sudo kill -9 " + str(os.getpid()))
0 голосов
/ 15 марта 2019

Попробуйте CTRL + C, пока находитесь в скрипте, следует выполнить трюк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...