Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
supervisor /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2025-02-27 19:58
medusa
[ DIR ]
drwxr-xr-x
2025-02-27 19:58
scripts
[ DIR ]
drwxr-xr-x
2025-02-27 19:58
skel
[ DIR ]
drwxr-xr-x
2025-02-27 19:58
tests
[ DIR ]
drwxr-xr-x
2025-02-27 19:58
ui
[ DIR ]
drwxr-xr-x
2025-02-27 19:58
__init__.py
20
B
-rw-r--r--
2019-04-06 06:19
childutils.py
2.5
KB
-rw-r--r--
2019-04-06 06:19
compat.py
3.66
KB
-rw-r--r--
2019-09-17 02:23
confecho.py
205
B
-rw-r--r--
2019-04-06 06:19
datatypes.py
12.93
KB
-rw-r--r--
2019-04-06 06:19
dispatchers.py
18.64
KB
-rw-r--r--
2019-04-06 06:19
events.py
7.07
KB
-rw-r--r--
2019-04-06 06:19
http.py
30.86
KB
-rw-r--r--
2019-11-28 04:11
http_client.py
6.87
KB
-rw-r--r--
2019-05-23 05:31
loggers.py
12.68
KB
-rw-r--r--
2019-10-20 02:06
options.py
85.4
KB
-rw-r--r--
2020-04-10 05:49
pidproxy.py
1.84
KB
-rw-r--r--
2020-09-11 19:59
poller.py
6.55
KB
-rw-r--r--
2019-04-06 06:19
process.py
37.2
KB
-rw-r--r--
2019-04-06 06:57
rpcinterface.py
36.46
KB
-rw-r--r--
2020-04-10 05:59
socket_manager.py
3.02
KB
-rw-r--r--
2020-08-07 05:02
states.py
1.62
KB
-rw-r--r--
2018-02-16 02:36
supervisorctl.py
53.4
KB
-rw-r--r--
2020-09-11 19:59
supervisord.py
14.25
KB
-rw-r--r--
2020-09-11 19:59
templating.py
45.98
KB
-rw-r--r--
2019-09-17 02:23
version.txt
6
B
-rw-r--r--
2020-08-21 02:03
web.py
23.71
KB
-rw-r--r--
2020-04-28 04:19
xmlrpc.py
21.03
KB
-rw-r--r--
2019-09-17 02:23
Save
Rename
#!/usr/bin/python3 """ An executable which proxies for a subprocess; upon a signal, it sends that signal to the process identified by a pidfile. """ import os import sys import signal import time class PidProxy: pid = None def __init__(self, args): self.setsignals() try: self.pidfile, cmdargs = args[1], args[2:] self.command = os.path.abspath(cmdargs[0]) self.cmdargs = cmdargs except (ValueError, IndexError): self.usage() sys.exit(1) def go(self): self.pid = os.spawnv(os.P_NOWAIT, self.command, self.cmdargs) while 1: time.sleep(5) try: pid = os.waitpid(-1, os.WNOHANG)[0] except OSError: pid = None if pid: break def usage(self): print("pidproxy.py <pidfile name> <command> [<cmdarg1> ...]") def setsignals(self): signal.signal(signal.SIGTERM, self.passtochild) signal.signal(signal.SIGHUP, self.passtochild) signal.signal(signal.SIGINT, self.passtochild) signal.signal(signal.SIGUSR1, self.passtochild) signal.signal(signal.SIGUSR2, self.passtochild) signal.signal(signal.SIGQUIT, self.passtochild) signal.signal(signal.SIGCHLD, self.reap) def reap(self, sig, frame): # do nothing, we reap our child synchronously pass def passtochild(self, sig, frame): try: with open(self.pidfile, 'r') as f: pid = int(f.read().strip()) except: print("Can't read child pidfile %s!" % self.pidfile) return os.kill(pid, sig) if sig in [signal.SIGTERM, signal.SIGINT, signal.SIGQUIT]: sys.exit(0) def main(): pp = PidProxy(sys.argv) pp.go() if __name__ == '__main__': main()