170 похожих чатов

Господа, нужна помощь. Задача - прибить процесс по пиду за

заданное время, сначала отправить сигтерм, если не прибьётся сам, помочь ему килом. Так сойдёт?

def pid_is_running(pid):
try:
os.kill(pid, 0)
except OSError as err:
if err.errno == errno.ESRCH:
return False
return True

def interrupt_pid(pid, timeout):
os.kill(pid, signal.SIGTERM)
start_time = time.time()
while time.time() - start_time < timeout:
if not pid_is_running(pid):
return
time.sleep(1)
os.kill(pid, signal.SIGKILL)

4 ответов

13 просмотров

А что за процесс?

Jerzy-Kamiński Автор вопроса
Владимир
А что за процесс?

кастомный, от текущего юзера

Jerzy Kamiński
кастомный, от текущего юзера

А то есть ты его не из своего же скрипта запустил?

Jerzy-Kamiński Автор вопроса
Владимир
А то есть ты его не из своего же скрипта запустил?

собственно да, из своего. есть пайпы и ещё десяток способов IPC, но я бы хотел как проще, чтобы по минимуму переделывать. Код такой, что любые правки чреваты отсрелом всех яиц. Типа есть пид, его надо прибить, остальное "работает, не трогай"

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта