На *nix's, возможно, с помощью групп процесса может выручить Вас - можно поймать подпроцессы, порожденные подпроцессами также.
if __name__ == "__main__":
os.setpgrp() # create new process group, become its leader
try:
# some code
finally:
os.killpg(0, signal.SIGKILL) # kill all processes in my group
Другое соображение должно нарастить сигналы: от SIGTERM (сигнал по умолчанию для kill
) к SIGKILL (иначе kill -9
). Ожидайте короткое время между сигналами дать процессу шанс выйти чисто перед Вами kill -9
это.
Похоже, что более распространенные языки фактически используют свою собственную реализацию регулярных выражений, подобных Perl, чем фактически используют libpcre. Языки, которые попадают в этот класс, включают (как минимум) Java, JavaScript и Python.
Библиотека Java java.util.regex
использует синтаксис, в значительной степени основанный на Perl (приблизительно версия 5.8 ) регулярные выражения, включая правила экранирования, классы Unicode \ p
и \ P
, нежадные и «притяжательные» квантификаторы, обратные ссылки, \ Q
. . \ E
цитирование и несколько конструкций (? ...)
, включая группы без захвата, группы просмотра вперед / назад нулевой ширины и группы без возврата. На самом деле регулярные выражения Java, похоже, имеют больше общего с регулярными выражениями Perl, чем libpcre. : )
В языке JavaScript также используются регулярные выражения, производные от Perl; Классы Unicode, lookbehind, притяжательные квантификаторы и группы без возврата отсутствуют, но остальная часть того, что я упомянул для Java, также присутствует в JS.
Синтаксис регулярных выражений Python также основан на Perl 5 с не жадными квантификаторами , большинство конструкций (? ...)
, включая группы без захвата, предварительный / последующий и условные шаблоны, а также именованные группы захвата (но с другим синтаксисом, чем Perl или PCRE) . Группы без возврата и «притяжательные» кванторы отсутствуют (насколько я понимаю), как и \ p
и \ P
классы символов Unicode, хотя стандартный \ Классы d
, \ s
и \ w
поддерживают Unicode, если требуется.
Синтаксис регулярных выражений Python также основан на Perl 5 с не жадными квантификаторами , большинство конструкций (? ...)
, включая группы без захвата, предварительный просмотр и условные шаблоны, а также именованные группы захвата (но с другим синтаксисом, чем Perl или PCRE) . Группы без возврата и «притяжательные» кванторы отсутствуют (насколько я понимаю), как и \ p
и \ P
классы символов Unicode, хотя стандартный \ Классы d
, \ s
и \ w
поддерживают Unicode, если требуется.
Синтаксис регулярных выражений Python также основан на Perl 5, с нежадными квантификаторами , большинство конструкций (? ...)
, включая группы без захвата, предварительный / последующий и условные шаблоны, а также именованные группы захвата (но с другим синтаксисом, чем Perl или PCRE) . Группы без возврата и «притяжательные» кванторы отсутствуют (насколько я понимаю), как и классы символов Юникода \ p
и \ P
, хотя стандартный \ Классы d
, \ s
и \ w
поддерживают Unicode, если требуется.
Синтаксис регулярных выражений Python также основан на Perl 5 с не жадными квантификаторами, большая часть ( ? ...)
конструкции, включая группы без захвата, упреждающие / отстающие и условные шаблоны, а также именованные группы захвата (но с другим синтаксисом, чем Perl или PCRE). Группы без возврата и «притяжательные» кванторы отсутствуют (насколько я понимаю), как и \ p
и \ P
классы символов Unicode, хотя стандартный \ Классы d
, \ s
и \ w
поддерживают Unicode, если требуется.
Синтаксис регулярных выражений Python также основан на Perl 5, с не жадными квантификаторами, большая часть ( ? ...)
конструкции, включая группы без захвата, предварительные / обратные и условные шаблоны, а также именованные группы захвата (но с другим синтаксисом, чем Perl или PCRE). Группы без возврата и «притяжательные» кванторы отсутствуют (насколько я понимаю), как и \ p
и \ P
классы символов Unicode, хотя стандартный \ Классы d
, \ s
и \ w
поддерживают Unicode, если требуется.
(? ...)
, включая группы без захвата, упреждающие / обратные и условные шаблоны, а также именованные группы захвата (но с другими синтаксис, чем Perl или PCRE). Группы без возврата и «притяжательные» кванторы отсутствуют (насколько я понимаю), как и \ p
и \ P
классы символов Unicode, хотя стандартный \ Классы d
, \ s
и \ w
поддерживают Unicode, если требуется. s, с нежадными квантификаторами, большинство конструкций (? ...)
, включая группы без захвата, упреждающие / обратные и условные шаблоны, а также именованные группы захвата (но с другими синтаксис, чем Perl или PCRE). Группы без возврата и «притяжательные» кванторы отсутствуют (насколько я понимаю), как и \ p
и \ P
классы символов Unicode, хотя стандартный \ Классы d
, \ s
и \ w
поддерживают Unicode, если требуется.