[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
lib64
/
python3.12
/
multiprocessing
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 __pycache__
SET
[ DEL ]
📁 dummy
SET
[ DEL ]
📄 __init__.py
916 B
SET
[ EDIT ]
|
[ DEL ]
📄 connection.py
41,398 B
SET
[ EDIT ]
|
[ DEL ]
📄 context.py
11,673 B
SET
[ EDIT ]
|
[ DEL ]
📄 forkserver.py
12,202 B
SET
[ EDIT ]
|
[ DEL ]
📄 heap.py
11,626 B
SET
[ EDIT ]
|
[ DEL ]
📄 managers.py
47,893 B
SET
[ EDIT ]
|
[ DEL ]
📄 pool.py
32,760 B
SET
[ EDIT ]
|
[ DEL ]
📄 popen_fork.py
2,377 B
SET
[ EDIT ]
|
[ DEL ]
📄 popen_forkserver.py
2,230 B
SET
[ EDIT ]
|
[ DEL ]
📄 popen_spawn_posix.py
2,029 B
SET
[ EDIT ]
|
[ DEL ]
📄 popen_spawn_win32.py
4,515 B
SET
[ EDIT ]
|
[ DEL ]
📄 process.py
12,139 B
SET
[ EDIT ]
|
[ DEL ]
📄 queues.py
12,693 B
SET
[ EDIT ]
|
[ DEL ]
📄 reduction.py
9,512 B
SET
[ EDIT ]
|
[ DEL ]
📄 resource_sharer.py
5,145 B
SET
[ EDIT ]
|
[ DEL ]
📄 resource_tracker.py
11,077 B
SET
[ EDIT ]
|
[ DEL ]
📄 shared_memory.py
18,458 B
SET
[ EDIT ]
|
[ DEL ]
📄 sharedctypes.py
6,306 B
SET
[ EDIT ]
|
[ DEL ]
📄 spawn.py
9,644 B
SET
[ EDIT ]
|
[ DEL ]
📄 synchronize.py
12,272 B
SET
[ EDIT ]
|
[ DEL ]
📄 util.py
14,261 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: popen_fork.py
import os import signal from . import util __all__ = ['Popen'] # # Start child process using fork # class Popen(object): method = 'fork' def __init__(self, process_obj): util._flush_std_streams() self.returncode = None self.finalizer = None self._launch(process_obj) def duplicate_for_child(self, fd): return fd def poll(self, flag=os.WNOHANG): if self.returncode is None: try: pid, sts = os.waitpid(self.pid, flag) except OSError: # Child process not yet created. See #1731717 # e.errno == errno.ECHILD == 10 return None if pid == self.pid: self.returncode = os.waitstatus_to_exitcode(sts) return self.returncode def wait(self, timeout=None): if self.returncode is None: if timeout is not None: from multiprocessing.connection import wait if not wait([self.sentinel], timeout): return None # This shouldn't block if wait() returned successfully. return self.poll(os.WNOHANG if timeout == 0.0 else 0) return self.returncode def _send_signal(self, sig): if self.returncode is None: try: os.kill(self.pid, sig) except ProcessLookupError: pass except OSError: if self.wait(timeout=0.1) is None: raise def terminate(self): self._send_signal(signal.SIGTERM) def kill(self): self._send_signal(signal.SIGKILL) def _launch(self, process_obj): code = 1 parent_r, child_w = os.pipe() child_r, parent_w = os.pipe() self.pid = os.fork() if self.pid == 0: try: os.close(parent_r) os.close(parent_w) code = process_obj._bootstrap(parent_sentinel=child_r) finally: os._exit(code) else: os.close(child_w) os.close(child_r) self.finalizer = util.Finalize(self, util.close_fds, (parent_r, parent_w,)) self.sentinel = parent_r def close(self): if self.finalizer is not None: self.finalizer()