Я хочу знать, как я могу остановить мой текущий скрипт python, когда он уже запущен.Как остановить мой скрипт python при запуске другого скрипта python?
Чтобы быть ясным, я хочу написать его в моем собственном скрипте python. Итак, самое главное, в основном методе, он проверяет, запущен ли мой скрипт python или нет. Если он запущен, я хочу выйти с сообщением об ошибке.
В настоящее время я пытаюсь этот код:
if os.system("ps ax | grep sample_python.py") == True:
print "fail"
exit(0)
else:
print "pass"
Приведенный выше код выглядит как это имя оглавлению питон .. но это всегда идти к другому петли вместо того, чтобы идти в, если цикл и выход ..
Итак, для тестирования я запускаю свой скрипт, а на другом терминале снова запускаю свой сценарий. Первый скрипт не останавливается, но 2-й питон не входит в цикл if для вывода сообщения об ошибке.
Как это исправить?
Хорошо, я нашел тупую вещь, и я хочу, чтобы увидеть, если кто-то может помочь мне идти вокруг него .. Так что моя точка была убить питон, который только начал, если другой питон в настоящее время работает .. но тупое дело .. так как я запускаю свой python и запускаю проверку кода внутри этого python .. он всегда выйдет .. потому что как только я запустим python, PID будет создан и будет запущен ...
Итак, запуск python -> pid создан и запущен -> проверить, запущен ли python -> yes python is running -> exit.
Я хочу посмотреть, есть ли способ сделать запуск python -> проверить, запущен ли python или нет -> если он запущен, убить текущий python, а не тот, который был запущен.
grep найдет себя, если не найдет соответствия –
Способ диагностики проблемы, которую вы представляете, - это сначала ввести в командной строке 'ps ax ...' как при запуске вашего скрипта, так и когда не проверять, есть ли у вас правой командной строки. Затем вы пишете скрипт python, который просто печатает результат вызова 'os.system (...', снова в обоих случаях, чтобы проверить, есть ли разница. Тогда вы должны будете написать сценарий, который вам нужен. – quamrana
You могут использовать 'pgrep' и' pkill' для поиска и уничтожения процессов, не включая сам процесс grep (есть также различные утилиты оболочки, чтобы гарантировать, что только одна копия чего-то запущена, хотя они могут не соответствовать вашей ситуации) – DNA