Shadowsocks.Controller.PrivoxyRunner.IsChildProcess C# (CSharp) Method

IsChildProcess() private static method

private static IsChildProcess ( Process process ) : bool
process System.Diagnostics.Process
return bool
        private static bool IsChildProcess(Process process)
        {
            try
            {
                if (Utils.IsPortableMode())
                {
                    /*
                     * Under PortableMode, we could identify it by the path of ss_privoxy.exe.
                     */
                    var path = process.MainModule.FileName;

                    return Utils.GetTempPath("ss_privoxy.exe").Equals(path);
                }
                else
                {
                    var cmd = process.GetCommandLine();

                    return cmd.Contains(_uniqueConfigFile);
                }
            }
            catch (Exception ex)
            {
                /*
                 * Sometimes Process.GetProcessesByName will return some processes that
                 * are already dead, and that will cause exceptions here.
                 * We could simply ignore those exceptions.
                 */
                Logging.LogUsefulException(ex);
                return false;
            }
        }