コード例 #1
0
ファイル: LIST.cs プロジェクト: zjxbetter/SuperSocket
        public override void ExecuteCommand(RemoteProcessSession session, StringPackageInfo requestInfo)
        {
            Process[] processes;

            string firstParam = requestInfo.GetFirstParam();

            if (string.IsNullOrEmpty(firstParam) || firstParam == "*")
            {
                processes = Process.GetProcesses();
            }
            else
            {
                processes = Process.GetProcesses().Where(p =>
                                                         p.ProcessName.IndexOf(firstParam, StringComparison.OrdinalIgnoreCase) >= 0).ToArray();
            }

            StringBuilder sb = new StringBuilder();

            foreach (var p in processes)
            {
                sb.AppendLine(string.Format("{0}\t{1}", p.ProcessName, p.Id));
            }

            sb.AppendLine();

            session.Send(sb.ToString());
        }
コード例 #2
0
ファイル: FROZ.cs プロジェクト: zjxbetter/SuperSocket
        public override void ExecuteCommand(RemoteProcessSession session, StringPackageInfo requestInfo)
        {
            var server = session.AppServer;

            string firstParam = requestInfo.GetFirstParam();

            if (string.IsNullOrEmpty(firstParam))
            {
                session.Send("Invalid parameter!");
                return;
            }

            var param = requestInfo[1];

            if ("list".Equals(firstParam, StringComparison.OrdinalIgnoreCase))
            {
                StringBuilder sb = new StringBuilder();
                foreach (var p in server.GetFrozedProcesses())
                {
                    sb.AppendLine(p);
                }
                sb.AppendLine();

                session.Send(sb.ToString());
                return;
            }
            else if ("add".Equals(firstParam, StringComparison.OrdinalIgnoreCase))
            {
                if (string.IsNullOrEmpty(param))
                {
                    session.Send("Invalid parameter!");
                    return;
                }

                server.AddFrozedProcess(param);
                session.Send(string.Format("Frozed process {0} has been added!", param));
                return;
            }
            else if ("remove".Equals(firstParam, StringComparison.OrdinalIgnoreCase))
            {
                if (string.IsNullOrEmpty(param))
                {
                    session.Send("Invalid parameter!");
                    return;
                }

                server.RemoveFrozedProcess(param);
                session.Send(string.Format("Frozed process {0} has been removed!", param));
                return;
            }
            else if ("clear".Equals(firstParam, StringComparison.OrdinalIgnoreCase))
            {
                server.ClearFrozedProcess();
                session.Send("All frozed process have been removed!");
                return;
            }
            else if ("stop".Equals(firstParam, StringComparison.OrdinalIgnoreCase))
            {
                server.StopFroze();
                session.Send("Frozing has been stopped!");
                return;
            }
            else if ("start".Equals(firstParam, StringComparison.OrdinalIgnoreCase))
            {
                server.StartFroze();
                session.Send("Frozing has been started!");
                return;
            }
        }