示例#1
0
文件: busybox.py 项目: GLab/ToMaTo
def httpd_start(folder, port):
	folder = params.convert(folder, convert=os.path.realpath, check=os.path.exists)
	port = params.convert(port, convert=int, gte=1, lt=2**16)
	netstat.checkPortFree(port)
	pid = spawnDaemon(["busybox", "httpd", "-f", "-p", str(port)], cwd=folder)
	try:
		wait.waitFor(lambda :netstat.isPortUsedBy(port, pid), failCond=lambda :not proc.isAlive(pid))
		return pid
	except wait.WaitError:
		proc.autoKill(pid, group=True)
		raise
示例#2
0
文件: tcpserver.py 项目: GLab/ToMaTo
def start(port, command):
	port = params.convert(port, convert=int, gte=1, lt=2**16)
	command = params.convert(command, convert=list)
	netstat.checkPortFree(port, tcp=True, ipv4=True)
	pid = spawnDaemon(["tcpserver", "-qHRl", "0",  "0", str(port)] + command)
	try:
		wait.waitFor(lambda :netstat.isPortUsedBy(port, pid), failCond=lambda :not proc.isAlive(pid))
		return pid
	except wait.WaitError:
		proc.autoKill(pid, group=True)
		raise
示例#3
0
def start(port, command):
    port = params.convert(port, convert=int, gte=1, lt=2**16)
    command = params.convert(command, convert=list)
    netstat.checkPortFree(port, tcp=True, ipv4=True)
    pid = spawnDaemon(["tcpserver", "-qHRl", "0", "0", str(port)] + command)
    try:
        wait.waitFor(lambda: netstat.isPortUsedBy(port, pid),
                     failCond=lambda: not proc.isAlive(pid))
        return pid
    except wait.WaitError:
        proc.autoKill(pid, group=True)
        raise
示例#4
0
def start(iface, address, port, network_id, peers):
	iface = params.convert(iface, convert=str, check=lambda iface: not net.ifaceExists(iface))
	address = params.convert(address, convert=str)
	port = params.convert(port, convert=int, gte=1, lt=2**16)
	network_id = params.convert(network_id, convert=int, gte=1, lt=1<<64)
	peers = params.convert(peers, convert=list)
	netstat.checkPortFree(port, tcp=False, udp=True, ipv4=True)
	connect = []
	for p in peers:
		connect += ["-c", p]
	pid = spawnDaemon(["vpncloud", "-d", iface, "-l", "%s:%d" % (address, port), "--network-id", "%d" % network_id] + connect)
	wait.waitFor(lambda :net.ifaceExists(iface), failCond=lambda :not proc.isAlive(pid))
	return pid
示例#5
0
文件: websockify.py 项目: GLab/ToMaTo
def start(port, vncport, sslcert=None):
	port = params.convert(port, convert=int, gte=1, lt=2**16)
	vncport = params.convert(vncport, convert=int, gte=1, lt=2**16)
	sslcert = params.convert(sslcert, convert=str, null=True, check=os.path.exists)
	WebsockifyError.check(not netstat.isPortFree(vncport), WebsockifyError.CODE_DEST_PORT_FREE, "Destination port is free", {"port": vncport})
	netstat.checkPortFree(port, tcp=True, ipv4=True)
	pid = spawnDaemon(["websockify", "0.0.0.0:%d" % port, "localhost:%d" % vncport] + (["--cert=%s" % sslcert] if sslcert else []))
	try:
		wait.waitFor(lambda :netstat.isPortUsedBy(port, pid), failCond=lambda :not proc.isAlive(pid))
		return pid
	except wait.WaitError:
		proc.autoKill(pid, group=True)
		raise
示例#6
0
def httpd_start(folder, port):
    folder = params.convert(folder,
                            convert=os.path.realpath,
                            check=os.path.exists)
    port = params.convert(port, convert=int, gte=1, lt=2**16)
    netstat.checkPortFree(port)
    pid = spawnDaemon(["busybox", "httpd", "-f", "-p", str(port)], cwd=folder)
    try:
        wait.waitFor(lambda: netstat.isPortUsedBy(port, pid),
                     failCond=lambda: not proc.isAlive(pid))
        return pid
    except wait.WaitError:
        proc.autoKill(pid, group=True)
        raise
示例#7
0
def start(port, vncport, sslcert=None):
    port = params.convert(port, convert=int, gte=1, lt=2**16)
    vncport = params.convert(vncport, convert=int, gte=1, lt=2**16)
    sslcert = params.convert(sslcert,
                             convert=str,
                             null=True,
                             check=os.path.exists)
    WebsockifyError.check(not netstat.isPortFree(vncport),
                          WebsockifyError.CODE_DEST_PORT_FREE,
                          "Destination port is free", {"port": vncport})
    netstat.checkPortFree(port, tcp=True, ipv4=True)
    pid = spawnDaemon(
        ["websockify",
         "0.0.0.0:%d" %
         port, "localhost:%d" % vncport] +
        ["--cert=%s" % sslcert] if sslcert else [])
    try:
        wait.waitFor(lambda: netstat.isPortUsedBy(port, pid),
                     failCond=lambda: not proc.isAlive(pid))
        return pid
    except wait.WaitError:
        proc.autoKill(pid, group=True)
        raise
示例#8
0
def stop(pid):
	proc.autoKill(pid)
	VpnCloudError.check(not proc.isAlive(pid), VpnCloudError.CODE_STILL_RUNNING, "Failed to stop vpncloud")
示例#9
0
文件: qm.py 项目: GLab/ToMaTo
def stopVnc(pid, websockifyPid=None):
	proc.autoKill(pid, group=True)
	QMError.check(not proc.isAlive(pid), QMError.CODE_STILL_RUNNING, "Failed to stop socat")
	if websockifyPid:
		websockify.stop(websockifyPid)
示例#10
0
文件: virsh.py 项目: plaljx/ToMaTo
 def stopVnc(self, pid, websockifyPid=None):
     proc.autoKill(pid, group=True)
     VirshError.check(not proc.isAlive(pid), VirshError.CODE_STILL_RUNNING,
                      "Failed to stop socat")
     if websockifyPid:
         websockify.stop(websockifyPid)
示例#11
0
文件: tcpserver.py 项目: GLab/ToMaTo
def stop(pid):
	proc.autoKill(pid, group=True)
	TcpserverError.check(not proc.isAlive(pid), TcpserverError.CODE_STILL_RUNNING, "Failed to stop tcpserver")
示例#12
0
def stop(pid):
    proc.autoKill(pid, group=True)
    TcpserverError.check(not proc.isAlive(pid),
                         TcpserverError.CODE_STILL_RUNNING,
                         "Failed to stop tcpserver")
示例#13
0
def stop(pid):
    proc.autoKill(pid, group=True)
    IpspyError.check(not proc.isAlive(pid), IpspyError.CODE_STILL_RUNNING,
                     "Failed to stop ipspy")
示例#14
0
def stop(pid):
    proc.autoKill(pid, group=True)
    WebsockifyError.check(not proc.isAlive(pid),
                          WebsockifyError.CODE_STILL_RUNNING,
                          "Failed to stop websockify")
示例#15
0
文件: websockify.py 项目: GLab/ToMaTo
def stop(pid):
	proc.autoKill(pid, group=True)
	WebsockifyError.check(not proc.isAlive(pid), WebsockifyError.CODE_STILL_RUNNING, "Failed to stop websockify")
示例#16
0
def httpd_stop(pid):
    proc.autoKill(pid, group=True)
    BusyboxError.check(not proc.isAlive(pid), BusyboxError.CODE_STILL_RUNNING,
                       "Failed to stop http server")
示例#17
0
文件: busybox.py 项目: GLab/ToMaTo
def httpd_stop(pid):
	proc.autoKill(pid, group=True)
	BusyboxError.check(not proc.isAlive(pid), BusyboxError.CODE_STILL_RUNNING, "Failed to stop http server")
示例#18
0
文件: ipspy.py 项目: GLab/ToMaTo
def stop(pid):
    proc.autoKill(pid, group=True)
    IpspyError.check(not proc.isAlive(pid), IpspyError.CODE_STILL_RUNNING, "Failed to stop ipspy")