XjndZddlZddlZddlZddlZddlmZejeZ ddede ddfdZ y) z; POSIX-specific functionality for stdio client operations. N)Processprocesstimeout_secondsreturncKt|ddxstt|dddd}|sy tj|}tj|tj t j|5 tj|dt jdd{57#t$r YdddywxYw#1swYnxYw tj|tjy#t$rYywxYw#tttf$r}tjd|d|d |jt j |5|j#d{7dddn #1swYnxYwnf#t$$rUtjd |d  |j'n'#t$$rtj)d |YnwxYwYnwxYwYd}~yYd}~yd}~wwxYww) a Terminate a process and all its children on POSIX systems. Uses os.killpg() for atomic process group termination. Args: process: The process to terminate timeout_seconds: Timeout in seconds before force killing (default: 2.0) pidNpopenrg?z)Process group termination failed for PID z: z", falling back to simple terminatez#Process termination failed for PID z, attempting force killzFailed to kill process )getattrosgetpgidkillpgsignalSIGTERManyio move_on_aftersleepProcessLookupErrorSIGKILLPermissionErrorOSErrorloggerwarning terminate fail_afterwait Exceptionkill exception)rrrpgides j/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/mcp/os/posix/utilities.pyterminate_posix_process_treer"s '5$ ' `777GT3RTY[_+`C  Bzz# $'   1 IIdA&++c*** +)        IIdFNN +!     9 BB3%r!Lnop B    !!/2 %lln$$ % % % B NN@E\] ^ B  B  #:3%!@A B  B Bs+HAD <C ?.B5-B3.B52C 3B55 C >C ?D HC  C  CD $C>=H> D D H D  D H!G>>%F#F7E:8F= FF FG>"G16GG1!G+(G1*G++G1.G>0G11G>4 H>HH)g@) __doc__loggingr rr anyio.abcr getLogger__name__rfloatr"r!r+sL    8 $-B-B%-BZ^-Br*