public static int RunTerminalCommand(string cmd, IManagerCommandLogger logger, string logTopic, string logMessage)
        {
            //Start logging session
            logger?.LogCLIBegin(logTopic, logMessage);

            //Start process
            Process p;

            if (Environment.OSVersion.Platform == PlatformID.Unix)
            {
                //Linux
                p = Process.Start(new ProcessStartInfo
                {
                    FileName  = "/bin/bash",
                    Arguments = cmd,
                    RedirectStandardOutput = true,
                    UseShellExecute        = false,
                    CreateNoWindow         = true
                });
            }
            else
            {
                //Windows
                p = Process.Start(new ProcessStartInfo
                {
                    FileName  = "cmd.exe",
                    Arguments = "/C " + cmd,
                    RedirectStandardOutput = true
                });
            }

            return(BaseRunProcess(p, logger));
        }
        public static int RunCLIProcess(string path, string args, IManagerCommandLogger logger, string logTopic, string logMessage)
        {
            //Start logging session
            logger?.LogCLIBegin(logTopic, logMessage);

            //Start process
            Process p = Process.Start(new ProcessStartInfo
            {
                FileName  = path,
                Arguments = args,
                RedirectStandardOutput = true
            });

            return(BaseRunProcess(p, logger));
        }